JSP知识点汇总
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSP知识点汇总相关的知识,希望对你有一定的参考价值。
有几种方法可以实现服务器内部跳转?
- 使用request对象提供的方法:request.getRequestDispatcher(String URI).forward(ServletRequest request,ServletResponse response);
- 使用pageContext对象提供的方法:pageContext.forward(String URI);
- 使用JSP动作标签:<jsp:forward page="URI" />;
有几种方法可以实现JSP页面的包含操作?
- 使用JSP指令 <%@ include file="URI" />;
- 使用request对象提供的方法:request.getRequestDispatcher(String URI).include(ServletRequest request,ServletResponse response);
- 使用pageContext对象提供的方法:pageContext.include(String URI);
- 使用JSP动作标签:<jsp:include page="URI" />;
上述的四种方法存在以下差异:
- 方法1实现的是静态包含,这是一种代码级的包含,在解析JSP页面时,被包含页面不会单独生成servlet,其生成的代码将会被直接集成到主页面生成的servlet中。方法2、3、4实现的是动态包含,被包含页面和主页面单独生成各自的servlet,在处理请求,输出响应时,将被包含页面的输出内容合并到主页面的输出中来。
- 方法1、3、4中,被包含页面和主页面内容的输出顺序遵循代码顺序,在前的先输出,在后的后输出。方法2中,先输出被包含页面的内容,然后才会输出主页面的内容。
如何解决JSP页面的中文乱码问题?
- 解决URL中传递中文参数乱码问题:修改server配置文件,以Tomcat为例,编辑“%CATALINA_HOME%/conf/server.xml”,在对应的连接配置标签上添加属性URIEncoding=“UTF-8”。在从request对象获取parameter之前,设置request对象的编码方式为“UTF-8”;
- 解决表单中传递中文参数乱码问题:设置JSP页面的属性,<%@ page contentType="text/html;charset=utf-8" />,在从request对象获取parameter之前,设置request对象的编码方式为“UTF-8”;
- 解决Cookie中传递中文参数乱码问题:在向Cookie对象中添加中文参数时,使用java.net.URLEncoder.encoding(String value,String charset)方法对参数进行编码;在从Cookie对象中获取中文参数时,使用java.net.URLDecoder.decoding(String value,String charset)方法对参数进行解码。
以上是关于JSP知识点汇总的主要内容,如果未能解决你的问题,请参考以下文章