您的位置:首页 > Web前端 > JavaScript

第五天(JSP)

2017-01-13 21:31 232 查看
JSP指令 告诉JSP引擎如何处理JSP页面中的剩余部分

<%@ 指令 属性名=值%>

page、include、taglib

page指令常用的属性:

1.import:指定当前JSP页面对应的Servlet需要导入的类

<%@page import="java.text.DateFormat"%>

2.session:指定当前页面的session隐藏变量是否可用

3.errorPage和isErrorPage

errorPage指定若当前页面出现错误的响应页面是什么 /代表当前WEB应用的根目录

<%@page errorPage="/error.jsp"%>

还可以通过配置web.xml指定错误页面:

<error-page>
<!-- 指定出错的代码: -->
<error-code>500</error-code>
<location>/WEB-INF/error.jsp</location>
</error-page>
<error-page>
<!-- 指定异常的类型 -->
<exception-type>java.lang.ArithmeticException</exception-type>
<location>/WEB-INF/error.jsp</location>
</error-page>

isErrorPage指定当前页面是否为错误处理页面,可以说明当前页面是否可以使用exception隐藏变量,一般不建议能够直接访问该页面

如何使用户不能直接访问某一个页面,对于Tomcat服务器而言,WEB-INF下的文件是不能够通过浏览器输入访问的,但通过请求的转发是可以的。

4.contentType:指定当前JSP页面的相应类型,实际调用的是response.setContentType("text/html; charset=UTF-8");

5.pageEncoding:指定当前JSP页面的字符编码,通常情况下该值和contentType中的charset一致

6.isELIgnored:指定当前JSP页面是否可以使用EL表达式,通常取值为true

7.include:<%@include file="relativeURL"%>

JSP标签

<jsp:include page="relativeURL"></jsp:include>

动态引入:并不是像Include指令生成一个Servlet源文件,而是生成连个Servlet源文件,然后通过一个方法的方式把目标页面包含进来。

<jsp:include>标签是在当前JSP页面的执行期间插入被引入资源的输出内容,被动态引入的资源必须是一个能够独立被WEB容器调用和执行的资源

include指令只能引入遵循JSP格式的文件,被引入的文件与当前JSP文件共同被编译成一个Servlet的源文件

<jsp:forward page="/include/b.jsp"></jsp:forward>相当于:

request.getRequestDispatcher("/include/b.jsp").forward(request,response);

但使用jsp:forward可以使用jsp:param子标签向b.jsp传入一些参数,同样jsp:include也可以使用jsp:param子标签

<jsp:forward page="/include/b.jsp">
<jsp:param value="root" name="user"/>
</jsp:forward>

可以通过request.getParameter("user")获取传入的请求参数

关于中文乱码:

在JSP页面上输入中文,保证contentType="text/html; charset=UTF-8",pageEncoding="UTF-8" charset和pageEncoding的编码一致,且都支持中文

对于POST请求:在获取请求信息之前,调用request.setCharacterEncoding("UTF-8")

对于GET请求:修改Tomcat的server.xml文件,为Connector节点添加useBodyEncodingForURI="true"属性
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: