1、转发与重定向
当前的地址
http://localhost:8080/web04/
转发
http://localhost:8080/web04/LoginServlet
index.jsp -> loginservlet -> success.jsp(显示)
转发只访问了一次
重定向
http://localhost:8080/web04/fail.jsp
用户 -> index.jsp -> loginservlet
用户 -> fail.jsp
重定向 访问了两次
2、转发和重定向的区别
1)访问次数
转发1次
重定向 2次
2)url 地址
转发没变
重定向发生变化
3)是否可以携带数据(servlet -> jsp 的数据传递)
转发 可以携带数据
重定向 不可以携带数据
3、如何使用Filter
1)自定义filter类(CharacterEncodingFilter)
CharacterEncodingFilter implements Filter
在doFilter 中 添加
// 这是重复性代码,如此 减少了代码冗余
request.setCharacterEncoding(“UTF-8”);
response.setContentType(“text/html;charset=UTF-8”);
2)在web.xml里面进行配置才有效果
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>com.alex.web.filter.CharacterEncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3)filter执行的顺序
先filter -> servlet
4、访问域
1)访问域都包含哪些
request
Session
applicationContext
2)访问域的优先级
优先级(在没有指定的情况下)
request > Session > Context
3)访问域的访问范围
applicationContext > session > request
request (访问范围只在一次servlet中有效)
session(访问范围只在同一个浏览器里面有效)
applicationContext(访问范围只在同一个tomcat服务里面)