• JSP-3


    HTTP 请求状态码

    200:正常
    404:资源找不到
    400:请求类型不匹配
    500:Java 程序抛出异常
     
    response 常⽤⽅法:
    1、sendRedirect(String path) 重定向,⻚⾯之间的跳转。
         转发 getRequestDispatcher 和重定向 sendRedirect 的区别:request是否改变
      转发是将同⼀个请求传给下⼀个⻚⾯,重定向是创建⼀个新的请求传给下⼀个⻚⾯,之前的请求结束⽣命周期。
        转发:同⼀个请求在服务器之间传递,地址栏不变,也叫服务器跳转。
        重定向:由客户端发送⼀次新的请求来访问跳转后的⽬标资源,地址栏改变,也叫客户端跳转。
     
    自我理解:可以用打电话来区分,转发就是打给1号客服说要转到2号客服,然后客服给转了。重定位是打给1号客服,客服说打错了,然后给了另外的电话,你顺着这个电话再打过去
     
    如果两个⻚⾯之间需要通过 request 来传值,则必须使⽤转发,不能使⽤重定向。
    一个例子
    转发与重定向区别
    转发
    forward.jsp
    <%
        request.setAttribute("name","张三");
        request.getRequestDispatcher("target.jsp").forward(request,response);
    %>

    结果

     重定向

    forward.jsp

    <%
        request.setAttribute("name","张三");
        response.sendRedirect("target.jsp");
    %>

    结果

     可以看到地址栏变了

    还有就是因为request值变了,所以想传过去的参数也不会传到

     
    一个例子
    ⽤户登录,如果⽤户名和密码正确,则跳转到⾸⻚(转发),并且展示⽤户名,否则重新回到登陆⻚⾯
     
    步骤
    1.创造登录界面 login.jsp
    <form action="check1.jsp" method="post">
      用户名: <input type="text" name="username"><br/>
        密码:<input type="text" name="password"><br/>
        <input type="submit" value="登录">
    </form>

    注意的点:

        action与method

        submit与value

    2.在check1里面读取并验证

    List<user> list =new ArrayList();
     list.add(new user("admin","123123"));
    
    String username=request.getParameter("username");
    String password=request.getParameter("password");
    
    if(username.equals(list.get(0).getName()) && password.equals(list.get(0).getPassword())){
        request.setAttribute("name",username);
        request.getRequestDispatcher("welcome.jsp").forward(request,response);
    }else{
        response.sendRedirect("login1.jsp");
    }

     传的参数为什么可以用 getparameter来获取?

    在表单中写出变量值 等价于在浏览器地址栏中  ?变量名=

     
     
     
     
     
     
     
  • 相关阅读:
    MySQL远程登陆
    一键安装LAMP wordpress
    编译安装httpd2.4.46
    RDB转化AOF 花式删库
    3周作业
    2周作业
    1周作业
    预习第三周作业
    预习第二周作业
    预习第一周作业
  • 原文地址:https://www.cnblogs.com/hanabi-521/p/14302169.html
Copyright © 2020-2023  润新知