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 实现页面包含

  • 相关阅读:
    遍历查询ldap服务器用户
    spring调用存储过程
    jms在jboss上的简单应用
    开发团队如何完成一个项目?
    数据库分区表的使用
    使用native 查询时,对特殊字符的处理。
    spring定时器分析
    sql server监控
    java 类和接口之间的转换
    C++ main 参数使用
  • 原文地址:https://www.cnblogs.com/z5337/p/6864206.html
Copyright © 2011-2022 走看看