java web 项目清楚session的方法是:继承SessionAware类来取得session,然后用invalidate()方法清理
创新互联建站主要从事成都网站制作、网站设计、外贸网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务德清,十多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792
public class ExitAction extends ActionSupport implements SessionAware{
@Override
public String execute() throws Exception {
HttpServletRequest request = ServletActionContext.getRequest();
HttpSession session1 = request.getSession();
session1.invalidate();
return super.execute();
}
public void setSession(Map arg0) {
}
}
//第二种方法(用ActionContext取session,然后用clear()方法清理)
public class ExitAction extends ActionSupport{
@Override
public String execute() throws Exception {
ActionContext ac = ActionContext.getContext();
Map session = ac.getSession();
session.remove("buser");
session.remove("guser");
session.remove("fuser");
return super.execute();
}
}
(1)session.invalidate();
(2)服务器有session过期时间,达到过期时间没有访问,自动就注销了
(3)切断与服务器的会话连接,如关闭浏览器、浏览页也可以,这样做不会实时让服务器上的session注销,但只要你不保存之前用过的session信息并重复使用(或重放),再次访问时服务器会新分配一个session
你要先选择 你想你要注销的那段话
再按 CTRL + /
效果如下
// import com.rdi.flex.constant.Constant;
// import com.rdi.flex.service.ServiceLocator;
// import com.rdi.ncms.entity.*;
// import com.rdi.ncms.utils.CacheUtil;
你要取消注释 就再选择你已经注释的代码
再按 CTRL + /
效果如下
import com.rdi.flex.constant.Constant;
import com.rdi.flex.service.ServiceLocator;
import com.rdi.ncms.entity.*;
import com.rdi.ncms.utils.CacheUtil;
还一种 ctrl+shirft+c 操作步骤跟上面一样
效果
/* import com.rdi.flex.constant.Constant;
import com.rdi.flex.service.ServiceLocator;
import com.rdi.ncms.entity.*;
import com.rdi.ncms.utils.CacheUtil; */
都是可以实现你的注销一段话的 两种不同的注释!
点击注销,跳转到后台,去掉当前用户session,然后跳转登录界面。
连接数据库
public class DBManager {
//定义数据库连接的URL
private static final String URL="jdbc:sqlserver://localhost:1433;database=j1105";
//定义数据库的用户名
private static final String USERNAME = "sa";
//定义数据库密码
private static final String PASSWORD = "sa";
//定义一个连接的引用,使用单例模式
private static Connection conn = null;
//使用静态块来注册驱动
//类加载时自动执行代码块
static {
//反射com.microsoft.sqlserver.jdbc.SQLServerDriver.class
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
//获得连接
//在程序使用过程中始终只有1个对象存在
//使用单例模式来给Connection赋值
public static Connection getConnection(){
if(conn == null){
try {
conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
} catch (SQLException e) {
e.printStackTrace();
}
}
return conn;
}
/**
* 关闭的一些操作 , 优化
* @param conn
* @param stat
* @param rs
*/
public static void close(Connection conn,Statement stat,ResultSet rs){
try{
if(conn != null){
conn.close();
}
if(stat != null){
stat.close();
}
if(rs != null){
rs.close();
}
}catch(SQLException e){
e.printStackTrace();
}
}
/**
* 重写上面的方法,在只有2个参数的情况下关闭
* @param conn
* @param stat
*/
public static void close(Connection conn,Statement stat){
try{
if(conn != null){
conn.close();
}
if(stat != null){
stat.close();
}
}catch(SQLException e){
e.printStackTrace();
}
}
public static void main(String[] args){
Connection conn = DBManager .getConnection();
System.out.println(conn);
}
}
接口
public interface IStudentDao {
public void deleteStudent(int xh);
}
实现
public class StudentDAOimpl implements IStudentDao {
public void deleteStudent(int xh) {
try{
String sql = "delete from tb_student where xh = ?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setInt(1, xh);
ps.executeUpdate();
System.out.println("成功删除");
}catch(SQLException e){
e.printStackTrace();
}
}
}