JavaWeb总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaWeb总结相关的知识,希望对你有一定的参考价值。

获取原始表单数据

  - 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总结的主要内容,如果未能解决你的问题,请参考以下文章

《java精品毕设》基于javaweb宠物领养平台管理系统(源码+毕设论文+sql):主要实现:个人中心,信息修改,填写领养信息,交流论坛,新闻,寄养信息,公告,宠物领养信息,我的寄养信息等(代码片段

JavaWeb - JSONProtobufThriftMessagePack 对比和开发指南

python常用代码片段总结

JavaWeb学习总结JavaWeb开发入门

BootStrap有用代码片段(持续总结)

javaweb入门-----jsp概念