转发和重定向

    技术2026-08-11  23

    文章目录

    JSP数据交互(一)关于中文乱码问题转发和重定向会话 session关于web.xml问题include指令

    JSP数据交互(一)

    关于中文乱码问题

    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

    会话:同一个浏览器在一段时间内(从第一次请求到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>

    关于web.xml问题

    项目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没有关系

    include指令

    页面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 %>
    Processed: 0.013, SQL: 9