获取原始表单数据

  - POST请求不仅可以传输文本信息还可以传输二进制数据

  - 如果想得到请求中参数的原始字节数据,可以使用HttpServletRequest对象提供的getInputSteam()或getReader()方法直接访问表单数据

  获取原始表单数据的两种情况

    - 数据不是由HTML表单提交,而是来自某个客户端程序,需要自己读取和分析这些数据。

    - 数据来自于上传的文件时,需要自己读取数据

请求派发

  - 每个客户的请求可以传递给很多Servlet以及Web应用程序中的其它资源

  - 整个过程完全是在服务器端完成

  - 不需要任何客户端浏览器的行为

  - 不需要在客户端浏览器和服务器端之间传递特殊信息

  - 通过javax.servlet.RequestDispatcher对象实现

提示:重定向让客户端浏览器来完成,而请求派发是在服务器端做工作

请求派发的实现

  - 调用ServletRequest对象的方法:

  - getRequestDispatcher(path):方法返回给定路径的RequestDispatcher对象

  - getNamedDispatcher(name) :返回某个名称的Servlet的RequestDispatcher对象

提示:RequestDispatcher对象还可以通过ServletContext对象的getRequestDispatcher()得到,路径值必须是以根目录"/"开始

- RequestDispatcher对象提供了两种方法:

- forward(ServletRequest, ServletResponse):派发请求和响应对象到RequestDispatcher 对象所确定的新资源(Servlet、JSP或者HTML等)

- include(ServletRequest, ServletResponse)该方法关键是能包含服务器端的资源

request.getRequestDispatcher("/sucess.html").include(request, response);

request.getRequestDispatcher("/sucess.html").forward(request, response);

forward跳转示意图

include包含示意图

请求范围

  - 变量可以保存在请求范围中

  - 在请求范围之外就不能进行访问了

public class Servlet1 extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setAttribute("key", "value");
//重定向跳转到Servlet2,Servlet2获取的值为null
//response.sendRedirect("Servlet2");
//forward跳转到Servlet2,Servlet能获取值为value
//request.getRequestDispatcher("Servlet2").forward(request, response);
} protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
} } public class Servlet2 extends HttpServlet {
private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.err.println(request.getAttribute("key"));
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
} }

JavaWeb总结(六)的更多相关文章

  1. JavaWeb(六)之MVC与三层架构设计

    前言 这段时间要学习hadoop,但是也希望把自己的web知识复习起来.所以花自己休息的时间把这些web的知识好好的巩固一下!没有什么可以阻挡我前进的脚步. 首先我们先了解一下: C/S:客户端 / ...

  2. JavaWeb学习 (六)————Servlet(二)

    一.ServletConfig讲解 1.1.配置Servlet初始化参数 在Servlet的配置文件web.xml中,可以使用一个或多个<init-param>标签为servlet配置一些 ...

  3. JavaWeb总结(六)—Session

    一.Session的介绍 在Web开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下).因此,在需要保存用户数据时,服务器 ...

  4. JavaWeb 后端 <六> 之 EL & JSTL 学习笔记

    一.EL表达式(特别重要)

  5. JavaWeb(六)Listener监听器

    监听器 监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法将立即被执行. Servlet监听器 在Se ...

  6. javaweb笔记六

    指令包含:可以在一个jsp中包含另一个jsp中的内容.会将包含页面和被包含页面放在一起编译,形成一个java类.所以,是在编译时发生的.只能包含文件,不允许两个页面之间存在同名变量.被包含页面也不应该 ...

  7. javaweb(十六)——JSP指令

    一.JSP指令简介 JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分. 在JSP 2.0规范中共定义了三个指令: pa ...

  8. JavaWeb【六、JavaBean】

    简介 JavaBean是符合设计原则的Java类.好处是提高可复用性,减少冗余,增强可维护性. JavaBean设计原则 共有类 无参共有构造 属性私有 getter和setter方法 JSP动作元素 ...

  9. 2017.11.2 JavaWeb----第六章 Servlet技术

    JavaWeb ------第六章 Servlet技术 (1)在Web应用程序开发中,一般由JSP JavaBean技术和 Servlet技术的结合实现MVC开发模式.在MVC开发模式中将Web程序的 ...

  10. JavaWeb【一、简介】

    原计划上周完成的内容,硬是过了一个清明拖到了这周,工作上还有很多东西没做...明天抓紧看把,争取这周末搞定 内容简介:(学习完后会重新梳理调整) 1.JavaWeb[一.简介] 2.JavaWeb[二 ...

随机推荐

  1. Oracle EBS 键弹性域 段限定词取值

    中间是回车符 对应编码时 Chr(10) substr(replace(t.compiled_value_attributes, Chr(10), ''), 3, 1)

  2. 用jQuery Validate+layer插件实现好看的表单提交效果

    作为初学者,以前做表单验证都是自己写的,目的是让自己更好的了解代码,加深自己对javascript的理解,但是其实在很久都知道有一个很好用的表单验证插件:jQuery Validate.js,一直都没 ...

  3. fun() 的 拆分和 for 遍历 的结合---------> 函数容器

    fun() 的 拆分和 for 遍历 的结合--------->  函数容器

  4. java微信小程序解密AES/CBC/PKCS7Padding

    摘要:微信小程序解密建议使用1.6及以上的环境使用maven下载jar包org.bouncycastlebcprov-jdk15on1.55加密类代码importorg.bouncycastle.jc ...

  5. Java8新特性 -- 四大内置的核心函数式接口

    可以把这些函数式接口作为方法的参数. 1.0 核心内置函数式接口一: 消费型接口@FunctionalInterfacepublic interface Consumer<T> { voi ...

  6. 1875: [SDOI2009]HH去散步

    Time Limit: 20 Sec Memory Limit: 64 MB Submit: 2333 Solved: 1204 [Submit][Status][Discuss] Descripti ...

  7. Day18 (二)反射

    反射机制是什么 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为java ...

  8. lombok问题

    今天研究了下以dubbo作为分布式的开源项目dubbo-app. 为了排除一些依赖的冲突和干扰,我另外开辟一个新的工作空间,同时我也将公司项目的依赖打个压缩包分类备份下. 这样一来,dubbo-app ...

  9. SRcnn:神经网络重建图片的开山之作

    % ========================================================================= % Test code for Super-Re ...

  10. sed 替换有单引号的行

    cat test.txt $config['useragent'] = 'Roundcube Webmail'; // Hide version number//$config['username_d ...