有几种方法可以实现服务器内部跳转?

  1. 使用request对象提供的方法:request.getRequestDispatcher(String URI).forward(ServletRequest request,ServletResponse response);
  2. 使用pageContext对象提供的方法:pageContext.forward(String URI);
  3. 使用JSP动作标签:<jsp:forward  page="URI" />;

有几种方法可以实现JSP页面的包含操作?

  1. 使用JSP指令 <%@ include file="URI" />;
  2. 使用request对象提供的方法:request.getRequestDispatcher(String URI).include(ServletRequest request,ServletResponse response);
  3. 使用pageContext对象提供的方法:pageContext.include(String URI);
  4. 使用JSP动作标签:<jsp:include page="URI" />;

上述的四种方法存在以下差异:

  • 方法1实现的是静态包含,这是一种代码级的包含,在解析JSP页面时,被包含页面不会单独生成servlet,其生成的代码将会被直接集成到主页面生成的servlet中。方法2、3、4实现的是动态包含,被包含页面和主页面单独生成各自的servlet,在处理请求,输出响应时,将被包含页面的输出内容合并到主页面的输出中来。
  • 方法1、3、4中,被包含页面和主页面内容的输出顺序遵循代码顺序,在前的先输出,在后的后输出。方法2中,先输出被包含页面的内容,然后才会输出主页面的内容。

如何解决JSP页面的中文乱码问题?

  1. 解决URL中传递中文参数乱码问题:修改server配置文件,以Tomcat为例,编辑“%CATALINA_HOME%/conf/server.xml”,在对应的连接配置标签上添加属性URIEncoding=“UTF-8”。在从request对象获取parameter之前,设置request对象的编码方式为“UTF-8”;
  2. 解决表单中传递中文参数乱码问题:设置JSP页面的属性,<%@ page contentType="text/html;charset=utf-8" />,在从request对象获取parameter之前,设置request对象的编码方式为“UTF-8”;
  3. 解决Cookie中传递中文参数乱码问题:在向Cookie对象中添加中文参数时,使用java.net.URLEncoder.encoding(String value,String charset)方法对参数进行编码;在从Cookie对象中获取中文参数时,使用java.net.URLDecoder.decoding(String value,String charset)方法对参数进行解码。

JSP知识点汇总的更多相关文章

  1. nginx几个知识点汇总

    WHY? 为什么用Nginx而不用LVS? 7点理由足以说明一切:1 .高并发连接: 官方测试能够支撑 5 万并发连接,在实际生产环境中跑到 2 - 3 万并发连接数.?2 .内存消耗少: 在 3 万 ...

  2. JSP知识点大纲图

    这是我整理出来的JSP知识点大纲图,具体的内容都可以在我的博文中找到-.

  3. python全栈开发 * 10知识点汇总 * 180612

    10 函数进阶 知识点汇总 一.动态参数 形参的第三种1.动态接收位置传参 表达:*args (在参数位置编写 * 表⽰接收任意内容) (1)动态位置参数def eat(*args): print(a ...

  4. 清华大学OS操作系统实验lab1练习知识点汇总

    lab1知识点汇总 还是有很多问题,但是我觉得我需要在查看更多资料后回来再理解,学这个也学了一周了,看了大量的资料...还是它们自己的80386手册和lab的指导手册觉得最准确,现在我就把这部分知识做 ...

  5. JSP知识汇总

    JSP知识汇总 一.简介 > HTML - HTML擅长显示一个静态的网页,但是不能调用Java程序. > Servlet - Servlet擅长调用Java程序和后台进行交互,但是它不擅 ...

  6. c++ 函数知识点汇总

    c++ 函数知识点汇总 swap函数 交换两个数组元素 比如 swap(a[i],a[j]); 就是交换a[i] 和 a[j] 的值 strcpy() 复制一个数组元素的值到另一个数组元素里 strc ...

  7. 前端开发 JavaScript 干货知识点汇总

    很多初学的朋友经常问我,前端JavaScript都需要学习哪些东西呀?哪些是JavaScript的重点知识啊? 其实做前端开发工程师,所有的知识点都是我们学习必备的东西,只有扎实的技术基础才是高薪的关 ...

  8. BBS项目知识点汇总

    目录 bbs项目知识点汇总 一. JavaScript 1 替换头像 2 form表单拿数据 3 form组件error信息渲染 4 添加html代码 5 聚焦操作 二 . html在线编辑器 三 . ...

  9. Java面试知识点汇总

    Java面试知识点汇总 置顶 2019年05月07日 15:36:18 温柔的谢世杰 阅读数 21623 文章标签: 面经java 更多 分类专栏: java 面试 Java面试知识汇总   版权声明 ...

随机推荐

  1. Android Studio 简单设置

    转自:http://ask.android-studio.org/?/article/14 界面设置 默认的 Android Studio 为灰色界面,可以选择使用炫酷的黑色界面.Settings - ...

  2. shiro的Helloworld

    package shiro; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authc.UsernamePassword ...

  3. stm32cube--通用定时器--输入捕获

    用定时器输入捕获做红外线接收实验.(此次试验以通道2为例) ①stm32cube配置 ② ③ ④程序中主要用到的输入捕获相关寄存器 uint16_t tim_sr,tim_ccer,tim_ccr; ...

  4. 用sqlplus为oracle创建用户和表空间<转>

    用Oracle10g自带的企业管理器或PL/SQL图形化的方法创建表空间和用户以及分配权限是相对比较简单的,本文要介绍的是另一种方法,使用Oracle 9i所带的命令行工具:SQLPLUS来创建表空间 ...

  5. laravel 控制器方法里存get值 和 blade 模板获得闪存值的方法

    //get 方式把id传到路由 <a href="/admin/reply/add/{{$comment -> id}}" class="btn btn-bl ...

  6. fis3运行项目的前准备

    前几天搭建了fis3环境,但是不会运行项目.因为刚来公司前辈把项目打包给我,但是我之前没有做过这种项目. 今天前辈来了,教我几个命令行运行项目.但是没有成功..... 原因我的sass是单独安装的,没 ...

  7. RAID与双机热备简单介绍与区别

    一.    RAID技术详解 RAID是英文Redundant Array of Independent Disks的缩写,翻译成中文意思是“独立磁盘冗余阵列”,有时也简称磁盘阵列(Disk Arra ...

  8. oracle中如何创建dblink

    当用户要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中必须创建了远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据.下面讲介绍如何在本地数 ...

  9. Javascript之链式运动框架1

    第一部分:HTML内容: <script src="6-1.js"></script> <script> window.onload=funct ...

  10. C++ | boost库 类的序列化

    是的,这是今年的情人节,一篇还在研究怎么用的文章,文结的时候应该就用成功了. 恩,要有信心 神奇的分割线 不知何时装过boost库的header-only库, 所以ratslam中的boost是可以编 ...