Servlet实现Session
(1)首先看一下项目的结构
是在tomcat--webaps下的myWebSites项目
在myWebSites下有仅仅有WEB-INF目录 在WEB-INF目录中有 一下目录(在classes目录下方class类)
当中之需下边三个 类就可以 项目例如以下结构:
(2)Login.java代码
//登陆界面
package com.tsinghua;import javax.servlet.http.*;import java.io.*;public class Login extends HttpServlet{public void doGet(HttpServletRequest req,HttpServletResponse res){//业务逻辑try{//解决中文乱码res.setContentType("text/html;charset=gbk");PrintWriter pw = res.getWriter();//返回登陆界面pw.println("<html>");pw.println("<body>"); pw.println("<h1>用户登录</h1>");pw.println("<form action=logincl method=post>"); //action的是servlet的urlpw.println("用户名:<input type=text name=username><br/>");pw.println("密码:<input type=password name=passwd><br/>");pw.println("<input type=submit value=loing><br/>");pw.println("<input type=hidden name=sex value=男><br/>"); //hidden类型在页面中不显示pw.println("</form>"); pw.println("</body>");pw.println("</html>");}catch(Exception ex){ex.printStackTrace();}}public void doPost(HttpServletRequest req,HttpServletResponse res){this.doGet(req,res);}
}
(3)Logincl.java代码
//登陆界面
package com.tsinghua;import javax.servlet.http.*;import java.io.*;public class Logincl extends HttpServlet{public void doGet(HttpServletRequest req,HttpServletResponse res){//业务逻辑try{//解决中文乱码//res.setContentType("text/html;charset=gbk"); //PrintWriter pw = res.getWriter();//接受用户名和passwordString u = req.getParameter("username");String p = req.getParameter("passwd");//验证if(u.equals("sp") && p.equals("123")){//将验证成功的信息,写入到session中去//1.得到sessionHttpSession hs = req.getSession(true);//改动session的存在时间hs.setMaxInactiveInterval(20000);// 以秒算的hs.setAttribute("pass","ok"); //设置到session中去//合法的情况 跳转到Welcomeres.sendRedirect("welcome?uname="+u+"&upass="+p);//这里跳转的仍是servlet的url}else{//不合法的情况//跳转res.sendRedirect("login");//跳转的是要到servlet的url}}catch(Exception ex){ex.printStackTrace();}}public void doPost(HttpServletRequest req,HttpServletResponse res){this.doGet(req,res);}
}
(4)Welcome.java代码
//登陆界面
package com.tsinghua;import javax.servlet.http.*;import java.io.*;public class Welcome extends HttpServlet{public void doGet(HttpServletRequest req,HttpServletResponse res){//得到sessionHttpSession hs = req.getSession(true);String val = (String)hs.getAttribute("pass");//推断if(val == null){try{//非法登陆res.sendRedirect("login");}catch(Exception ex){ex.printStackTrace();}}//得到Logincl传递的 usernameString u=req.getParameter("uname");//得到passwordString p= req.getParameter("upass");String sex= req.getParameter("sex");println(sex);//业务逻辑try{//解决中文乱码res.setContentType("text/html;charset=gbk");PrintWriter pw = res.getWriter();pw.println("hello welcome!"+u+p);}catch(Exception ex){ex.printStackTrace();}}public void doPost(HttpServletRequest req,HttpServletResponse res){this.doGet(req,res);}
}
须要项目代码的:http://download.csdn.net/detail/u010870518/7843661
Servlet实现Session相关推荐
- Servlet 和Session的关系
jsp的Session和Servlet的Session本质上是一致的,区别是:jsp中session是作为隐式对象存在的,可以直接使用:Servlet中的session需要手动提取后才能使用. Htt ...
- 高薪程序员面试题精讲系列73之你熟悉servlet、session吗?get与post有哪些区别?
一. 面试题及剖析 1. 今日面试题 你熟悉servlet与session吗? servlet和JSP有什么关系? jsp有哪几个作用域?有几个内置对象? 说说session与servlet的生命周期 ...
- Servlet之session实践:session实现简易购物车
文章目录 Servlet之session实践:session实现简易购物车 1 过程分析 1.1 Product类:存储商品信息 1.2 ShoppingItem类:存储购买条目信息 1.3 Shop ...
- 【Servlet】Session的特点和使用
Session Session用来存储用户的不同请求的共享数据.作用范围:一次会话 Request 对象解决了一次请求内的不同Servlet 的数据共享问题,那么一个用户的不同请求的处理需要使用相同的 ...
- 【Servlet】Session会话跟踪技术
Session Session是指使用HttpSession对象实现会话跟踪的技术,是一种在服务器端保持会话跟踪的解决方案. HttpSession对象是javax.servlet.http.Http ...
- 一步一步学习Servlet之Session使用
同一用户不同请求之间的数据共享问题,用户第一次访问服务器,服务器会给此用户创建一个session对象存储在服务器中,并将该session对象的JSESSIONID使用Cookie技术存储到浏览器中,保 ...
- servlet,session对象的生命周期
谈到javaweb首先想到的就是servlet,说道servlet就会想到servlet的生命周期 那么servlet到底是什么时候出生,什么时候死亡叻 说道他的生命周期 就绕不过servlet的三个 ...
- DW-CHEN的Java点滴记录JavaWeb之HTTP协议/Servlet/Cookie/Session/JSP/EL/JSTL/Filter/Listener
JavaEE规范 JavaEE(Java Enterprise Edition):Java企业版,早期叫J2EE(J2EE的版本从1.0到1.4结束):现在Java版本从JavaEE 5开始 Java ...
- servlet设置session追踪模式
为什么80%的码农都做不了架构师?>>> import java.util.HashSet; import java.util.Set;import javax.servlet ...
最新文章
- Python 技术篇-python生成html源码功能实现演示,html代码自动生成技巧,列表生成式的灵活应用
- 【Python】选取二维列表的第一列
- 【论文导读】浅谈胶囊网络与动态路由算法
- 《陶哲轩实分析》部分勘误
- 如何合理的规划一次 JVM 性能调优
- Django复习:模型与管理网站
- 转:神奇的Fastcgi_Finish_Request
- (四)2005年我的第一次软件行业创业,烧掉30万、2年时间打水漂的惨痛教训
- JavaScript(3):JS和Html
- oracle:plsql学习总结(oracle database 10g sql 开发指南)
- 多个相机间的对齐之为什么需要对齐,对齐有什么好处?
- 一、项目分析(华为项目管理法-孙科炎读书摘要)
- mysql经典脚本_mysql常用脚本
- redis获取哈希类型的值,hget、hmget、hgetall
- win7怎样修改文件后缀名
- 计算机网络期末复习资料(一)单选题
- 强大的全文本搜索工具——AnyTXT Searcher
- 基于java码头船只出行及配套货柜码放管理系统(含源文件)
- 小程序setdata优化_关于小程序setData的写法,如何减少setData次数?优化程序性能...
- motorola铃声算法,是Java的!(转)
热门文章
- 扬尘监测系统_工地扬尘监测_工地扬尘监测解决方案
- Spring-Mybatis MapperScannerConfigurer 取不到PropertyPlaceholderConfigurer里的值
- Spring+SpringMVC+MyBatis深入学习及搭建(二)——MyBatis原始Dao开发和mapper代理开发
- Java_关于App class loader的总结
- 首席信息安全官的未来将何去何从?
- [转] Bookmarklet(书签工具)编写指南
- Outlook通过RPC/RPC Over HTTPS访问Exchange邮箱
- [电子商务网站设计] 之 My Space
- 青光眼-复内路粘小管成形术(ABiC)-转载
- Every column needs a corresponding expression. No expression found for xxxx