jsp继续学习

这次学习的目的:

1继续熟悉用户登录的各种写法

2体会session的用法

3在登录失败后在页面显示5秒后自动跳转

session对象常用方法:

1 getCreation Time()返回session对象的建立时间(注意是秒,所以需要更改时间格式)

2,String getId()返回seeion创建时的唯一编号

3setAttribute(String  name ,Object value)//将某个值value赋给变量名为name的字符串//比如你提交了表单,表单提交到某一个页面处理,但是如果除了这两个页面,其他页面也想获得用户信息,就可以在处理时放入session中,以后请求session中的name即可(类似全局变量的感觉))

4,getAttribute(String name)//获得对象名

自动跳转:<meta http-equiv="refresh" content="5;url=login.jsp">

content里是时间,这里是5秒,url是5秒后跳转的页面,比如可以用于登录失败后自动跳转回登录界面

request.getRequestDispatcher("loginsuccess.jsp").forward(request,response);

请求重定向与请求转发的区别

 - 请求重定向

 - :客户端行为,request.sendRedirect(location),本质上说等同于两次请求,前一次请求的对象不会保存,地址栏的URL地址会改变

 - 请求转发

 - :服务器行为,request.getRequestDispatcher(location).forward(request,response),一次请求,转发后请求对象会保存,地址栏的URL地址不会改变


 - 现在说明下两种方式的不同,重定向只是单纯的跳转到指定页面,而转发实际上是服务器把你提交的数据一起重定向到指定页面

 - 通俗的说,重定向不携带数据,转发携带数据

比如我处理数据是在check.jsp里的,我用请求重定向来处理登录失败的情况,那么会跳转到loginfail.jsp(当然loginfail.jsp里又有一个自动跳转到login.jsp)

而用请求转发来处理登录成功的情况,并不会跳转,还是check.jsp

login.jsp

<%@ page language="java" import="java.util.*" contentType="text/html;charset=utf-8"%>
<html>
<head>
<title>
用户登录
</title>
</head>
<body>
<div>
<a href="#"><img src="sor/2.jpg" width="1000" height="200"></a>
</div>
<div>
<form action="check.jsp" method="post">
<label>用户名:</label>
<input name="username" value="" />
<label>密码:</label>
<input type="password" name="password" value="">
<input type="submit" value="登录:"/>
</form>
</div>
</body>
</html>


check.jsp

<%@ page language="java" import="java.util.*" contentType="text/html;charset=utf-8"%>
<%
 String username ="";
 String password ="";
 request.setCharacterEncoding("utf-8");
 username =request.getParameter("username");
 password= request.getParameter("password");
 if (username.equals("fengsigaoju")&&password.equals("123456"))
 {
 session.setAttribute("loginusername",username);//这里保存时因为接下来loginsuccess.jsp里要显示***登录成功,提前存入session中
 request.getRequestDispatcher("loginsuccess.jsp").forward(request,response);
 }
 else
 {
 response.sendRedirect("loginfail.jsp");
 }
 %>

loginsuccess.jsp

<%@ page language="java" import="java.util.*" contentType="text/html;charset=utf-8"%>
<% 
String login="";
if (session.getAttribute("loginusername")!=null)
login=session.getAttribute("loginusername").toString();
 %>
<html>
<head>
<title>
用户登录
</title>
</head>
<body>
<div>
<a href="#"><img src="sor/2.jpg" width="1000" height="600"></a>
</div>
<div>
登陆成功,欢迎您<%= login %>
</div>
</body>
</html>

loginfail.jsp

<%@ page language="java" import="java.util.*" contentType="text/html;charset=utf-8"%>
<meta http-equiv="refresh" content="5;url=login.jsp">
<html>
<head>
<title>
用户登录
</title>
</head>
<body>
<div>
<a href="#"><img src="sor/2.jpg" width="1000" height="400"></a>
</div>
<div>
<h1>登录失败</h1>
</div>
</body>
</html>

图片的插入就是在Web-Root下加一个文件夹,将图片导入,src到文件夹名+图片名即可






你可能感兴趣的:(jsp继续学习)