1.JSP页面本身的编码
page pageEncoding="UTF-8"2.浏览器渲染页面时采用的编码
一旦一种编码格式已指定,另外一种编码格式如果不进行指定,默认采用已经指定的编码格式
contentType="text/html;charset=UTF-8"3.服务器保存数据时采用的编码(request),默认编码为ISO-8859-1不支持中文
//post request.setCharacterEncoding("UTF-8"); //get-1(常用) String name = request.getParamter("name"); name = new String(name.getBytes("ISO-8859-1"),"UTF-8"); //get-2(不常用) //修改tomcat-conf-server.xml在<Connector...URIEncoding="UTF-8"/>转发
在服务器端发挥作用,将同一个请求在服务器资源之间进行传递地址栏:不会转向跳转地址request中的参数:不会丢失,跳转地址也可以访问到重定向
在客户端发挥作用,客户端重新发送新的请求页面地址栏:显示跳转地址request参数:丢失,跳转地址无法访问会话:同一个浏览器在一段时间内(从第一次请求到session对象失效)与web服务器一连串相关的交互过程
session与窗口的关系
1.访问同一项目时,不同浏览器的session对象不同,同一浏览器的不同窗口session对象相同
2.通过超链接打开子窗体时,子窗体和父窗体的session相同
session对象的失效
1.手动失效 --session对象立即失效
<% session.invalidate(); %>2.超时失效 --以秒为单位
<% session.setMaxInactiveInterval(10); %>3.在tomcat或项目的web.xml增加配置 --以分钟为单位
<session-config> <session-timeout>1</session-timeout> </session-config>项目A.web.xml / 项目A.web.xml / tomcat-web.xml
tomcat-web.xml + 项目A-web.xml = 合并 -->对项目A有效
1.如果有配置重复的选项,项目A-web.xml
2.tomcat-web.xml是全局配置 项目A-web.xml是针对项目A的配置
3.项目B-web.xml 和 项目A-web.xml没有关系
页面A 引入页面B的代码
include指令的原理(先合并jsp在翻译java):
a.jsp + b.jsp = c.jsp -->翻译成 c_jsp.java -->编译成c_jsp.class -->执行
pageContext的include方法的原理(先翻译执行再合并):
b.jsp–>b.java–>编译运行–>结果+a.jsp–>a.java–>a.class–>执行
<%@include file="loginControl.jsp"; //page page <% pageContext.include("loginControl.jsp"); //page null %>ontrol.jsp"; //page page
~~~ java <% pageContext.include("loginControl.jsp"); //page null %>