【DRP】-用户登录-session和重定向
来源:互联网 发布:清华大学c语言教材 编辑:程序博客网 时间:2024/05/22 02:10
Log In 按钮代码
<A href="javascript:submitForm()" onc><IMG height=20 src="images/login_button.gif" width=71 border=0 name=button> </A>
点击 按钮 触发submitForm()事件
function submitForm(){ if (trim(loginForm.userId.value).length == 0) { alert("用户代码不能为空!"); loginForm.userId.focus(); return; } if (trim(loginForm.password.value).length == 0) { alert("密码不能为空!"); loginForm.password.focus(); return; } loginForm.action = "login.jsp"; loginForm.method = "post"; loginForm.submit();}
ps:loginForm 是表单的Name ,这里我们又可以学到一个知识点。那就是通过form表单的名字,我们可以通过去from 点 控件的Name来获取控件中的值。
注:因为这里提交的form表单中包含密码,所以不要用get提交,因为get提交会在地址栏中显示出密码。
然后执行java代码:
<% String command = request.getParameter("command"); out.println(command); if ("login".equals(command)) { String userId = request.getParameter("userId"); String password = request.getParameter("password"); try { User user = UserManager.getInstance().login(userId, password); //将用户信息设置到session中 session.setAttribute("user_info", user); //设置session超时单位为秒,下面session失效时间为1小时 //session.setMaxInactiveInterval(60*60); //重定向到主控页面 response.sendRedirect(request.getContextPath() + "/main.jsp"); }catch(UserNotFoundException e) { out.println(e.getMessage()); }catch(PasswordNotCorrentException e) { out.println(e.getMessage()); } }%>
ps:command 是jsp页面中的一个隐含域,值为login 。作用为:验证用户是否提交表单。
页面去session中的值:
1 <%2 User user = (User)session.getAttribute("user_info");3 %>
<td width="21%"> 当前用户:<%=user.getUserName() %> </td>
session的默认失效时间是30分钟,也可以在配置文件中设置session或代码中设置session。如果同时设置,已代码中为准。
web.xml文件设置session:
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <filter> <filter-name>CharsetEncodingFilter</filter-name> <filter-class>com.bjpowernode.drp.util.filter.CharsetEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>GBK</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharsetEncodingFilter</filter-name> <url-pattern>*.jsp</url-pattern> </filter-mapping> <session-config> <session-timeout>60</session-timeout> </session-config></web-app>
编程小技巧:
1、session的使用
把只放入session中:session.setAttribute("user_info", user);
从session中取值:User user = (User)session.getAttribute("user_info");
2、页面重定向
response.sendRedirect(request.getContextPath() + "/main.jsp"); // 使用request.getContextPath()获取网站根目录
3、获取form表单中的控件
loginForm.userId.value
学习博客连接:
response.sendRedirect() 和 dispatcher.forward(request,response)之间的区别
总结:让自己的知识打结点,不断提高自己的编程效率!
- 【DRP】-用户登录-session和重定向
- [drp 7]转发和重定向的区别
- python2+requests+模拟用户登录+重定向
- 重定向和用户会话
- DRP——重定向与转发
- 【DRP】转发与重定向的区别
- weblogic单点登录session问题,服务器之间的重定向!
- spring mvc session 超时重定向登录页面解决方法
- DRP项目(六)----JSP运行原理,三层机缘和转发与重定向
- 【drp 12】再识转发和重定向:SpringMVC无法跳转页面
- Flask 重定向用户和会话
- 用户登录后,重定向原来访问页面
- 用户登录后重定向到要访问页面
- python2 urllib2 重定向模拟学校图书馆用户登录(一)
- python2 urllib2 重定向模拟用户登录图书馆(二)
- 重定向用户
- 重定向用户
- 重定向用户
- Android初级教程XUtils实现“断点续传”下载
- 简单的坦克大战模拟小游戏
- appium:Could not detect Mac OS X version
- Spring AOP 代理模式
- 工作一年
- 【DRP】-用户登录-session和重定向
- wordpress 文章的插入,修改,读取,删除
- Java
- 设计模式——单例模式
- 课程练习四-problem V
- mysql性能调优(一):join查询(2)
- 野蛮生长-开始ING
- Activity、FragmentActivity
- linux进程小结(1)