2021/11/20

创建三个页面实现页面的跳转

1.login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
    <form action="check.jsp" method = "post">
        <%-- 注释 --%>
        用户名:<input type="text" name = "uname"><br/><br/>
        密码:<input type="password" name = "upwd"><br/>
        <input type="submit" value="登录"><br/>
    </form>
</body>
</html>

创建一个登录的页面,输入用户名和密码,点击提交后跳转到check页面。

2.check.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
    <%
        request.setCharacterEncoding("utf-8");
        String name = request.getParameter("uname");
        String pwd = request.getParameter("upwd");
        if(name.equals("yx")&&pwd.equals("123")){
            request.getRequestDispatcher("success.jsp").forward(request,response);
        }else
        {
            out.print("登录失败");
        }
    %>
</body>
</html>

判断从登录页面中传来的数据是否正确,如果正确则跳转到success页面,在succsee页面中可执行其他操作,否则输出“登录失败”

3.success.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
    登录成功!<br/>
    您好:
    <%
        String name = request.getParameter("uname");
        out.print(name);
    %>
</body>
</html>

显示“登录成功”,并打印将用户名输出

 

//页面转换的两种方式
1.重定向
void sendRedirect(String location) throws IOException;//sendRedirect("success.jsp");
跳转到相应页面(在check中跳到success),会导致数据丢失
在success中不会保留数据,
2次请求(login页面中向check发出第一次请求,check给出一次响应,即将新的跳转地址success.jsp返回给login,然后login向success发出第二次请求,由success给出第二次响应)
在客户端进行第二次跳转

2.请求转发
getRequestDispatcher("success.jsp").forward(request,response);
停留在当前页面(仍停留check页面),可以获取到数据
在success中会保留数据,
1次请求(向check发出请求后,由check直接执行请求转发到success,再由success做出响应)
直接在服务端内部跳转

posted @ 2021-11-20 15:31  lzzs111  阅读(50)  评论(0)    收藏  举报