zoukankan      html  css  js  c++  java
  • [Java][Web]Request 实现转发和 MVC 设计模式

    String data = "aaaaa";

    request.setAttribute("data",data); // 将数据存在 request 

    request.getRequestDispatcher("/message.jsp").forward(request,response); // 实现转发


    MVC => M model/javabean  V view/jsp  C controller / servlet

    在 message.jsp 页面上 可以在 body 节点中以  $(data) 来得到数据

    也可以写成

    <%
        String data = (String) request.getAttribute("data");
        out.write(data);
    %>

    效果是一样的。 jsp 页面修改后不需要重启 Tomcat 服务。

    forward 方法用于将请求转发到 RequestDispatcher 对象封装的资源。

    如果在调用 forward 方法之前,在 Servlet 程序中写入的部分内容已经被真正地传送到了客户端, forward 方法将会抛出

    异常 java.lang.IllegalStateException。

    如果在调用 forward 方法之前向 Servlet 引擎的缓冲区 response 中写入了内容,只要写入到缓冲区的内容还没有被真正输

    出到客户端, forward 方法就可以被正常执行,原来写入到输出缓冲区的内容将被清空,但是,已写入到

    HttpServletResponse 对象中的响应头字段信息保持有效。


    request.getRequestDispatcher("/public/head.jsp").include(request,response);

    request.getWriter().write("<font>内容</fong>");

    request.getRequestDispatcher("/public/head.jsp").include(request,response);

    这段代码表示:用 include 实现页面包含

  • 相关阅读:
    运算符重载
    责任链模式
    MFC一些常见面试问题
    浅拷贝&深拷贝
    下雨的效果
    本地时间使用与倒计时
    钟表效果
    一种水纹波浪效果
    一个相册效果
    在Flash中管理鼠标右键
  • 原文地址:https://www.cnblogs.com/z5337/p/6864206.html
Copyright © 2011-2022 走看看