概述
servlet的一个小项目(四)
ps:这个笔记用的是韩顺平老师的项目。
稍稍改动了一点。
使用session:
//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取出来:
//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>");
添加了属性之后,还得要删除属性:
//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的一个小项目(四)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复