100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > JSP备忘录02--JSP入门请求转发与重定向

JSP备忘录02--JSP入门请求转发与重定向

时间:2020-02-23 14:17:47

相关推荐

JSP备忘录02--JSP入门请求转发与重定向

简单的JSP入门知识,涉及虚拟路径与虚拟主机等预备知识。request和response内置对象,请求转发与重定向的应用和区别

文章目录

预备知识

一、虚拟路径和虚拟主机

虚拟路径

虚拟主机

二、JSP页面简单分析

1.JSP基础分析

2.指令

3.JSP内置对象

总结

预备知识

JSP要在相关容器中运行,我用的是Tomcat服务器。在Tomcat文件的结构中,WEB-INF/web.xml 设置访问的首页。

一、虚拟路径和虚拟主机

虚拟路径

项目默认访问地址为E:\Tomcat\apache-tomcat-8.5.58\webapps ,可以修改,既将web项目配置在其他目录下(虚拟路径)。

打开 conf文件夹下的server.xml文件 ,找到

<Host name="localhost" appBase="webapps"

unpackWARs="true" autoDeploy="true">

</Host>

显然,主机名为localhost,默认访问的文件夹为webapps。想要访问其他路径下的文件夹的项目,此时需要再</Host> 上写虚拟的路径(既实际访问其他路径,该路径虚拟出现在webapps下),

在下面添加

<Host name="localhost" appBase="webapps"

unpackWARs="true" autoDeploy="true">

<Context docBase="F:\view" path="/view" />

</Host>

path="/view" 为虚拟路径,表示在webapps下虚拟出一个view的文件夹,docBase="F:\view" 表示项目实际存在的路径。

在F:\view 目录下,粘贴一份WEB-INF 文件夹。将其中的web.xml文件中 <welcome-file-list> 进行重新编辑,如下:

<welcome-file-list>

<welcome-file>MySQLJOIN.html</welcome-file>

</welcome-file-list>

重启Tomcat后在浏览器输入http://127.0.0.1:8080/view/MySQLJOIN.html

回车,即可展示保存到F:\view 下的网页文件。

如果不想重启Tomcat直接实现,在 \apache-tomcat-8.5.58\conf\Catalina\localhost 文件夹下新建

项目名.XML,将上文中的Context 写入即可。

虚拟主机

本机在使用自有的 hosts文件 解析为指定的IP地址。 打开 conf/server.xml 文件,在</Engine> 节点中,defaultHost="localhost" 改为defaultHost="DShost" ,

<Engine name="Catalina" defaultHost="localhost">

---------------------------------------------------------------------

<Engine name="Catalina" defaultHost="DShost">

在Host 节点上新建一个同级别的Host节点,内容如下:

<Host appBase="F:\view" name="DShost" >

<Context docBase="F:\view" path="/" />

</Host>

C:\Windows\System32\drivers\etc,以管理员权限打开hosts文件,添加一行

127.0.0.1 DShost

重启Tomcat, 输入网址即可实现虚拟主机的效果(端口号改为80就可以不必输入端口号)http://localhost:8080http://localhost:8080

注意 ,path 如果写成 Path 就会报错 462.

二、JSP页面简单分析

1.JSP基础分析

代码如下(示例):

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title></head><body>helleo this is JSP 03<%//想回车,在后面加 “<br/>” out.print(<br/>+" --this is jsp code***--->");out.print(" --this is jsp code***--->");%> </body></html>

看起来像在HTML中加入<% %> 中,在其中输入Java脚本语言,可以在其中定义局部变量。也可以使用 <%! ...%>,用以定义全局变量和方法。或者纯粹的输出表达式 <%= ...%>,在其中直接写输出表达式 (不必加“;”)。但实际上,JSP不是直接转换为Java而是转换为格式为serverlet的Java,在E:\Tomcat\apache-tomcat-8.5.58\work\Catalina\localhost\ROOT\org\apache\jsp 的路径下,可以看到:

打开Java文件,即可看到:

所以JSP本质还是Java,是符合一定规范的Java脚本文件(serverlet)。

2.指令

JSP头部代码如下 :

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8" import="java.util.Date"%>

以page指令为例。在网页开头,有诸多属性。包括 import (导包指令)。导入Date包,在body中写入如下代码:

<body>

hello this is JSP 03

<%!

Date date = new Date();

%>

<%

out.print("<br>"+"--this is jsp code***--->"+date);

%>

</body>

显示效果如下:(没有 import会报错)

3.JSP内置对象

上述的 date 是导包进入文件还有通过new方式创建出来的。JSP 有九大内置对象。

request对象: 存储客户端向服务端发送请求信息。

此外还有 response对象,session对象,application对象,out对象,pageContext对象,config对象,page对象,exception对象

response对象

总结

通过对比 request和response的方法(请求转发 与 重定向),二者都是以服务端为中心工作的。无论是request的(服务端将客户端的)请求转发,还是(服务端将客户端)的请求重新定向,都需要理解 服务端--客户端 之间的关联。

response.sendRedirect("sucess.jsp"); 重定向

request.getRequestDispatcher("sucess.jsp").forward(request,response); 请求转发

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。