jsp继续学习

来源:互联网 发布:广联达招标软件 编辑:程序博客网 时间:2024/06/05 09:12

这次学习的目的:

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到文件夹名+图片名即可






0 0
原创粉丝点击