我是靠谱客的博主 平常荔枝,这篇文章主要介绍servlet的一个小项目(四),现在分享给大家,希望可以做个参考。

servlet的一个小项目(四)

ps:这个笔记用的是韩顺平老师的项目。
稍稍改动了一点。

使用session:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
//session 案例---如何得到session/和在session中添加属性 package com.tsinghua; import javax.servlet.http.*; import java.io.*; public class SessionTest1 extends HttpServlet { //处理get请求 //req: 用于获得客户端(浏览器)的信息 //res: 用于向客户端(浏览器)返回信息 public void doGet(HttpServletRequest req,HttpServletResponse res){ //业务逻辑 try { //中文乱码 res.setContentType("text/html;charset=gbk"); PrintWriter pw=res.getWriter(); //得到和req相关联的session,如果没有就创建session HttpSession ht=req.getSession(true); //得到session 的id,这是由容器分配的 String sessionId=ht.getId(); pw.println("sessionTest1 的session id="+sessionId+"<br>"); //向session中添加一个属性(String 类型的) //这里还是用的像表那样的放入和取出操作。 ht.setAttribute("name","蜗牛"); //如果不指定时间,那么该session的有效期是30min //你也可以指定时间,30s ht.setMaxInactiveInterval(30); } catch (Exception ex) { ex.printStackTrace(); } } //处理post请求 //req: 用于获得客户端(浏览器)的信息 //res: 用于向客户端(浏览器)返回信息 public void doPost(HttpServletRequest req,HttpServletResponse res){ this.doGet(req,res); } } //猫类 //class Cat{ // // private String name; // private int age; // public Cat(String name,int age){ // // this.name=name; // this.age=age; // } // // public String getName(){ // // return this.name; // } // public int getAge(){ // // return this.age; // } //} /* //向session中添加一个属性(String 类型的) ht.setAttribute("name","蜗牛"); //如果不指定时间,那么该session的有效期是30min //你也可以指定时间,30s ht.setMaxInactiveInterval(30); pw.println("在session中放入了一个属性 name=蜗牛");*/ // //向session中添加一个属性(Vector v) // //那看来session也是可以携带对象数据的。 // Cat myCat=new Cat("xiaoming",34); // // ht.setAttribute("maomao",myCat); // //对象的名字后边往出拿的时候用这个。 // pw.println("在session中放入一只猫 <br>");

从session取出来:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
//session 案例---如何得到session package com.tsinghua; import javax.servlet.http.*; import java.io.*; public class SessionTest2 extends HttpServlet { //处理get请求 //req: 用于获得客户端(浏览器)的信息 //res: 用于向客户端(浏览器)返回信息 public void doGet(HttpServletRequest req,HttpServletResponse res){ //业务逻辑 try { //中文乱码 res.setContentType("text/html;charset=gbk"); PrintWriter pw=res.getWriter(); //得到和req相关联的session,如果没有就创建session HttpSession ht=req.getSession(true); //得到session 的id String sessionId=ht.getId(); pw.println("sessionTest2 的session id="+sessionId); //得到session中的某个属性 //这个name一定不要写错了。 String myName=(String)ht.getAttribute("name"); pw.println("name="+myName); } catch (Exception ex) { ex.printStackTrace(); } } //处理post请求 //req: 用于获得客户端(浏览器)的信息 //res: 用于向客户端(浏览器)返回信息 public void doPost(HttpServletRequest req,HttpServletResponse res){ this.doGet(req,res); } } // //得到session中的某个属性 // String myName=(String)ht.getAttribute("name"); // // pw.println("name="+myName); // // //得到猫 // Cat myCat=(Cat)ht.getAttribute("maomao"); // //转换为cat类型的。通过对象的名字去拿到对应的对象。 // pw.println("你的猫的名:"+myCat.getName()+"<br>"); // pw.println("你的猫的年龄:"+myCat.getAge()+"<br>");

添加了属性之后,还得要删除属性:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
//session 案例---如何删除属性/如何使得session无效 package com.tsinghua; import javax.servlet.http.*; import java.io.*; public class SessionTest3 extends HttpServlet { //处理get请求 //req: 用于获得客户端(浏览器)的信息 //res: 用于向客户端(浏览器)返回信息 public void doGet(HttpServletRequest req,HttpServletResponse res){ //业务逻辑 try { //中文乱码 res.setContentType("text/html;charset=gbk"); PrintWriter pw=res.getWriter(); //得到和req相关联的session,如果没有就创建session HttpSession ht=req.getSession(true); //向session中添加一个属性(String 类型的) ht.setAttribute("you","周星星"); ht.setAttribute("he","刘德华"); pw.println("在没有删除you属性前 you 的 值="+ ht.getAttribute("you")+"<br>"); //从session中删除you属性 // ht.removeAttribute("you"); //就用下面这一句话,就把session全都删除了。 //设置其的属性为0的话,是不是就干脆不保存了? ht.setMaxInactiveInterval(0); pw.println("删除you属性后 you 的 值="+ ht.getAttribute("you")+"<br>"); pw.println("删除you属性后 he 的 值="+ ht.getAttribute("he")+"<br>"); } catch (Exception ex) { ex.printStackTrace(); } } //处理post请求 //req: 用于获得客户端(浏览器)的信息 //res: 用于向客户端(浏览器)返回信息 public void doPost(HttpServletRequest req,HttpServletResponse res){ this.doGet(req,res); } }

最后

以上就是平常荔枝最近收集整理的关于servlet的一个小项目(四)的全部内容,更多相关servlet内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部