3-5:-request学習サーブレット・スコープ・オブジェクト

リクエストオブジェクトスコープ

  * 问题:使用请求转发后,不同的Servlet之间怎么进行数据的共享呢?
  * 或者说数据怎么从一个servlet流转给另外一个Servlet呢?
  * 
  * 
  * 解决:使用request对象的作用域
  * 使用:
  * 
  *      request.setAttribute(object name,Object value);
  *      
  *      request.getAttribute(Object obj)
  *      
  * 作用:解决了一次请求内的不同Servlet的数据共享问题
  * 作用域:基于请求转发,一次请求中的所有Servlet共享
  * 
  * 注意:
  *    使用Request对象进行数据流转,数据只在一次请求内有效
  *    
  *    
  * 特点:
  * 服务器创建
  * 每次请求都会创建
  * 生命周期一次请求
  *      
  */
 //使用request对象实现不同Servlet的数据流转
    req.setAttribute("str", "用户名或密码错误");
 String str = (String) req.getAttribute("str")==null?"":(String) req.getAttribute("str");
    
      //  System.out.println(str);
        resp.getWriter().write("<html>");
        resp.getWriter().write("<head>");
        resp.getWriter().write("</head>");
        resp.getWriter().write("<body>");
          resp.getWriter().write("<font color = 'red' size='20px'>"+str+"</font>");
        resp.getWriter().write("<form action='Login' method='get'>");
        resp.getWriter().write("用户名:<input type= 'text' name ='uname'value=''/><br/>");
        resp.getWriter().write("密    码:<input type= 'password' name ='pwd'value=''/><br/>");
        resp.getWriter().write("<input type= 'submit' value='登    录'/><br/>");
        resp.getWriter().write("</form>");
        resp.getWriter().write("</body>");
        resp.getWriter().write("</html>");

それとも、書くことができます。

  String str = (String) req.getAttribute("str");
     if(str!=null){
       resp.getWriter().write("<html>");
        resp.getWriter().write("<head>");
        resp.getWriter().write("</head>");
        resp.getWriter().write("<body>");
          resp.getWriter().write("<font color = 'red' size='20px'>"+str+"</font>");
        resp.getWriter().write("<form action='Login' method='get'>");
        resp.getWriter().write("用户名:<input type= 'text' name ='uname'value=''/><br/>");
        resp.getWriter().write("密    码:<input type= 'password' name ='pwd'value=''/><br/>");
        resp.getWriter().write("<input type= 'submit' value='登    录'/><br/>");
        resp.getWriter().write("</form>");
        resp.getWriter().write("</body>");
        resp.getWriter().write("</html>");
     }else{
       resp.getWriter().write("<html>");
        resp.getWriter().write("<head>");
        resp.getWriter().write("</head>");
        resp.getWriter().write("<body>");
          
        resp.getWriter().write("<form action='Login' method='get'>");
        resp.getWriter().write("用户名:<input type= 'text' name ='uname'value=''/><br/>");
        resp.getWriter().write("密    码:<input type= 'password' name ='pwd'value=''/><br/>");
        resp.getWriter().write("<input type= 'submit' value='登    录'/><br/>");
        resp.getWriter().write("</form>");
        resp.getWriter().write("</body>");
        resp.getWriter().write("</html>");
     }
 
}
公開された68元の記事 ウォン称賛15 ビュー10000 +

おすすめ

転載: blog.csdn.net/weixin_42913025/article/details/103473257