1,网上商城中的购物车
2,保存登录用户的信息
3,将某些数据放入到Session中,供同一个用户的各个页面使用
4,防止用户非法登录到某个页面
(1)LoginCl.java
package com.dtg.controller; import java.io.IOException; import java.util.ArrayList; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.dtg.model.User; import com.dtg.model.UserCl; public class LoginServlet extends HttpServlet { /** * */ private static final long serialVersionUID = 1L; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { /** * 把loginCl.jsp 页面实现的操作,转移到它本应该所在的位置上,就是控制器Servlet * */ String id = request.getParameter("id"); String passw = request.getParameter("passw"); System.out.println("这是Servlet控制器!!!非常牛逼"); int pageNow = 1;//当前页 // int pageSize = 3;//页大小 int pageCount = 0;//页数 // int rowCount = 0;//总记录数 UserCl userCl = new UserCl(); if (userCl.checkUser(id, passw)) { // 用户合法 /** * sendRedirect “转向” 效率不过,很多软件公司都不适用这个方法,而是使用转发(重定向) * jsp:forward 服务器请求资源(运送) */ // response.sendRedirect("login_success.jsp"); /** * 在跳转到login_succss.jsp 之前,先把数据准备好 */ // 把用户信息存入session中 request.getSession().setAttribute("id", id); request.getSession().setAttribute("passw", passw); ArrayList<User> al = userCl.getUserByPage(pageNow); pageCount = userCl.getPageCount(); // 将al和pageCount,pageNow放入request中 request.setAttribute("result", al); request.setAttribute("pageCount", pageCount+""); request.setAttribute("pageNow", "1"); request.getRequestDispatcher("login_success.jsp").forward(request, response); } else { // 用户不合法 request.getRequestDispatcher("login_failure.jsp").forward(request, response); } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { /** * 合二为一 * post方法或者get方法都能搞定 */ this.doGet(request, response); } }
(2)login_success.jsp
<h2> 欢迎 <font color="red"><%=(String)session.getAttribute("id")%></font>光临 </h2>
(3)login_success.jsp
</head> <body> <% String id = (String)session.getAttribute("id"); if(id==null){ //返回登陆界面(目前学过的内置对象response,request,out,session) response.sendRedirect("/WEB-INF/dtg/login.jsp?err=1"); return ; } %> <center> <h1> 登陆成功 </h1> <h2> 欢迎 <font color="red"><%=id %></font>光临 </h2> <a href="/jsp1/index.jsp">返回重新登录</a> <hr> <% //接受用户想要显示的页面 String s_pageNow = (String)request.getAttribute("pageNow"); int pageNow = Integer.parseInt(s_pageNow); //要显示的数据,用request来取 ArrayList<User> al = (ArrayList<User>)request.getAttribute("result"); // object -->String -->int String s_pageCount = (String)request.getAttribute("pageCount"); int pageCount = Integer.parseInt(s_pageCount); //用表格显示 %> <table border="1"> <tr><td>userId</td><td>ID</td><td>PASSWORD</td><td>AGE</td><td>SEX</td></tr> <% for(int i=0;i<al.size();i++){ User user = (User)al.get(i); %> <tr><td><%=user.getUserId() %></td><td><%=user.getId() %></td> <td><%=user.getPassword() %></td> <td><%=user.getAge() %></td><td><%=user.getSex() %></td></tr> <% } %> </table> <% //显示超链接 if(pageNow != 1){ out.print("<a href=UserServlet?pageNow="+(pageNow-1)+" >上一页</a>"); } if(pageNow > 6 && pageNow <= (pageCount-4)){ for(int i=pageNow-5;i<=pageNow+4;i++){ out.println("<a href=UserServlet?pageNow="+i+">["+i+"]</a>"); } }else if(pageNow >(pageCount-4) ){ for(int i=pageCount-9;i<=pageCount;i++){ out.println("<a href=UserServlet?pageNow="+i+">["+i+"]</a>"); } }else{ for(int i=1;i<=10;i++){ //要是pageCount > 10 则不显示全部,只显示前10页的超链接 //for(int i=1;i<=pageCount;i++) out.println("<a href=UserServlet?pageNow="+i+">["+i+"]</a>"); } } if(pageNow != pageCount){ out.print("<a href=UserServlet?pageNow="+(pageNow+1)+">下一页</a>"); } %> </center> </body> </html>
(4) login.jsp
</head> <body> <center> <% String err = (String)request.getParameter("err"); if(err!=null){ out.println("<font color=red>用户没有正确登陆,请重新登陆!</font>"); } %> <h1>登陆界面</h1> <hr> <form action="LoginServlet" method="post"> 用户名: <input type="text" name="id" /> <br> 密 码: <input type="password" name="passw" /> <br> <input type="submit" value="提交" /> <input type="reset" value="重置" /> <hr> </form> </center> </body> </html>
相关推荐
session具体使用方法,资源来自网络,如有问题,请及时与本人联系。
jsp中session使用方法
tomcat集群基于redis共享session使用到的所有jar包,放到tomcat的lib下即可使用 apache-tomcat-7.0.56+nginx-1.8.0+redis-3.0.6集群部署所需JAR包,session共享 tomcat-redis-session-manager1.2.jar jedis-2.6.2....
php session使用初探.pdf
jsp中session使用方法.docx
javaWeb 介绍 登录注册功能以实现,包括Cookie和Session 使用内嵌式H2数据库 使用基本vue语句获取数据库数据
.net MVC使用Session验证用户登录,直接输入URL的页面地址跳转到登陆页 ,必须经过用户登录授权才可以。例如输入:http://localhost:14613/Home/index 由于没有登录将直接跳转到http://localhost:14613/Account/Login...
session的使用,jsp内置对对象到使用,其中比较重要到就是session
分布式session的使用与tomcat默认的session使用有所不同,比如session有一个对象a,默认tomcat里面,你可以获取a, 然后直接对a里面的属性进行修改,另外一个地方可以看到修改,但是在分布式session里面,你修改了a...
本文给大家详细介绍了关于django项目搭建与Session使用的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 django+session+中间件 一、使用命令行创建django项目 在指定路径下创建django...
分布式session的使用与tomcat默认的session使用有所不同,比如session有一个对象a,默认tomcat里面,你可以获取a, 然后直接对a里面的属性进行修改,另外一个地方可以看到修改,但是在分布式session里面,你修改了a...
一个服务器上搭建了多个tomcat或者weblogic,端口不一样,同时启动访问时session丢失。如:A,B两个服务,在浏览器中登录访问A后,当前打开的浏览器上在开一个选项卡访问B服务后,回过来点击访问A时session丢失,...
主要介绍了ssm项目session使用及其作用域问题,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
完美实现分布式集群Session共享 简单多tomcat8+redis的session共享实现,支持tomcat8、tomcat8.5、tomcat9,不能用直接联系我积分双倍返回。
没有Asp.net开发经验的朋友可以看看这篇文章,可以从零开始学习各种ASP.NET技能。本资料是本人整理的ASP.NET与C#的基础资料。如需了解请查阅VS.NET的相关书籍。省略的内容有ASP.NET基础语法... 适用人群:初学ASP.NET
INFA技术超群管委会 原创, 版权所有,违者必究。
主要介绍了php中session使用示例,需要的朋友可以参考下
主要介绍了Django 5种类型Session使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
webservice服务中如果保持Session 调用Session 对于Web Service,每个方法的调用都会启动一个Session,可以用下面的方法来使多个调用在同一个Session里 CWSSyscfg cwsCfg = new CWSSyscfg(); cwsCfg....