zoukankan      html  css  js  c++  java
  • javaweb学习之路(2)response

    写一个简单的登录页面

    1.创建一个login.jsp文件

    主要内容:

        <form action="check.jsp" method="post">
            用户名:<input type="text" name="uname"><br/>
            密码:<input type="password" name="upwd"><br/>
            <input type="submit" value="登录"><br/>
        </form>

    2.创建一个check.jsp文件

    检查用户名和密码是否正确,正确跳转到成功界面,否则输出“用户名或者密码错误”

    主要代码:

         <%
            request.setCharacterEncoding("utf-8");
            String name = request.getParameter("uname");
            String pwd = request.getParameter("upwd");
            if(name.equals("mwf")&&pwd.equals("123456")){
                //response.sendRedirect("success.jsp");
                //重定向,数据丢失
                request.getRequestDispatcher("success.jsp").forward(request, response);
                //请求转发
            }
            else{
                out.print("用户名或密码错误!");
            }
        %>    

    3.创建一个success.jsp文件

    用来输出登陆者的用户名

        登录成功!<br/>
        欢迎你:
        <%
            String name = request.getParameter("uname") ;
            out.print(name) ;
        %>

    4.实验效果

     总结:

    1.当使用response.sendRedirect("success.jsp");的时候页面会跳转到success.jsp,会发生数据丢失的现象,出来的用户名为null,重定向数据丢失;

    原因是:sendRedirect()会新建request对象,所以request中的数据会丢失。

    当使用request.getRequestDispatcher("success.jsp").forward(request, response);的时候,页面地址还是会在check.jsp的地址,但是内容是success.jsp的内容,这种叫做请求转发,内容正常显示。

    2.response :响应对象提供的几种方法:

    void addCookie( Cookie cookie ); 服务端向客户端增加cookie对象
    void sendRedirect(String location ) throws IOException; :页面跳转的一种方式(重定向)
    void setContetType(String type):设置服务端响应的编码(设置服务端的contentType类型)

    有不足的地方欢迎交流指正,感谢阅读!

  • 相关阅读:
    搭建MHA问题汇总
    NOIP2009 靶形数独
    get_mysql_conn_info.py
    NOIP 2005 篝火晚会
    MySQL启动关闭添加到 /etc/init.d/mysqld
    noip2002 矩形覆盖
    get_slave_status.py
    [JSOI2008]魔兽地图
    MySQL数据导出导入任务脚本
    8.30 牛客OI赛制测试赛1 F题 子序列
  • 原文地址:https://www.cnblogs.com/ma1998/p/12901336.html
Copyright © 2011-2022 走看看