写出使用session对象失效的代码。例如:登录

Java:

BaseDao.java:public class BaseDao{

/*创建数据库连接*/

public static Connection getConn(){

Connection conn=null;

String url="jdbc:sqlserver://localhost:1433;DatabaseName=JDBC";//localhost本地端口号;DatabaseName数据库名字

try{

class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//连接数据库

conn.DriverManager.getConnection(url,"sa","sasa");//加载驱动,url+数据库的用户名+用户密码

}catch(ClassNotFoundException e){//无法找到指定的类异常

e.printStackTrace();//在命令行打印异常信息在程序中出错的位置及原因。

}catch(SQLException e){

e.printStackTrace();//在命令行打印异常信息在程序中出错的位置及原因。

}

return conn;

}

/*关闭数据库连接*/

public static void CloseConn(Connection conn){

if(conn!=null){

try{

conn.close();

}catch(SQLException e){

e.printStackTrace();

}

}

}

/*执行增删改*/

public static int executeUpdate(String strSql,Object[] args){

Connection conn=getConn();

int result=0;

PreparedStatement psmt=null;

try{

psmt=conn.prepareStatement(strSql);

for(int i=0;i<args.length;i++){

psmt.setObject(i+1,args[i]);

}

resulr=psmt.executeUpdate();

}

catch(SQLException e){

e.printStackTrace();

}finally{

closeConn(conn);

}

return result; 

}

}

IUserDao.java:public interface IUserDao{

boolean isLoginSuccess(String userName,String passWord);

}

UserDaoImp.java:public class UserDaoImp implement IUserDao{

public  isLoginSuccess(String userName,String passWord){

boolean flag=false;

Connection conn=BaseDao.getConn();

String StrSql="select * from Login where userName=? and passWord=?";

try{

PreparedStatement ps=conn.prepareStatement(strSql);

ps.setString(1,userName);

ps.setString(2,passWord);

ResultSet rs=ps.executeQuery();

if(rs.next()){

flag=true;

}

}catch(SQLException e){

e.printStackTrace();

}finally{

BaseDao.closeConn(conn);

}

return flag;

}

}

JSP:

userControl.jsp:<%

String sesUser=(String)session.getAttribute("userStr");

if(sesUser==null){

response.sendRedirect("Login.jsp");

}

%>

Login.jsp:<%

String msg=(String)session.getAttribute("msg");

if(msg!=null){

out.println("<h2>"+msg+"</h2>");

session.removeAttribute("msg");

}

%>

<form action="LoginControl.jsp" method="get">

<table border="1">

<tr><td>请输入用户名:<input type="text" name="userName"/></td></tr>

<tr><td>请输入密码:<input type="password" name="passWord"/></td></tr>

<tr><td><input type="submit" value="提交"/>

<input type="reset" value="取消"/></td></tr>

</table>

</form>

LoginControl.jsp:

<%
System.out.println("提交方式:"+request.getMethod());
String userName=request.getParameter("userName");
//通过设一个标志量的方式判断是否是a标签提交
String encodeFlag=request.getParameter("encodeFlag");
//通过字符串的构造方法转码
userName=new String(userName.getBytes("iso-8859-1"),"utf-8");
String passWord=request.getParameter("passWord");
IUserDao userDao=new UserDaoImpl();
if(userDao.isLoginSucess(userName,passWord)){
session.setAttribute("userStr",userName);
session.setMaxInactiveInterval(5);//5秒钟内有效
response.sendRedirect("index.jsp");
}else{//重定向
request.setAttribute("msg","用户名或密码错误!!!");//保存一个值
response.sendRedirect("Login.jsp");
}
%>

index.jsp:登录成功后跳转的页面<body>

<%

String sesUser=(String)session.getAttribute("userStr");

%>

<h1>session欢迎您:<%=sesUser%></h1>

</body>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值