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在
转发
重定向
会话:同一个浏览器在一段时间内(从第一次请求到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>1session-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
%>