业务逻辑 session和Cookie的使用
<%
//设置编码方式
request.setCharacterEncoding("utf-8");
//接收表单提交过来的值:用户名 密码 根据name值取value值
String name=request.getParameter("aa");
String pwd=request.getParameter("bb");
//jdbc连接Oracle判断是否登录成功
//两个字符串
String URL="jdbc:oracle:thin:@localhost:1521:orcl";
String CNAME="oracle.jdbc.driver.OracleDriver";
//加载驱动
Class.forName(CNAME);
//创建连接
Connection con=DriverManager.getConnection(URL, "scott", "tiger");
//定义sql语句
String sql="select * from tb_0328 where sname=? and spwd=?";
//获得执行对象
PreparedStatement ps=con.prepareStatement(sql);
//给占位符赋值
ps.setString(1, name);//用name给第1个占位符赋值
ps.setString(2, pwd);//用pwd给第2个占位符赋值
//开始执行 获得结果集
ResultSet rs=ps.executeQuery();
//判断/遍历
if(rs.next()){
//说明登录成功
//跳转到新闻发布系统的主界面
/*
//session
//记录用户的登录状态/信息
//session.setAttribute("uname", name);//键String,值Object
//设置session的最大有效非活动时间 10秒
//session.setMaxInactiveInterval(10);
//打印session的编号:862FF3298197894980E3B9C62B093009
//System.out.print(session.getId());
//Cookie
Cookie c=new Cookie("xname",name);//name,value
//设置Cookie的有效期 10s 一周内免登录
//c.setMaxAge(60*60*24*7); //复选框
//加入响应
response.addCookie(c);
//重定向
response.sendRedirect("news/admin.jsp");
//转发 可以传值
//request.getRequestDispatcher("news/admin.jsp").forward(request, response);
}
else{
//说明登录失败
out.print("<script>alert('用户名或者密码有误');location.href='login.jsp';</script>");
}
//关闭资源 3个
if(con!=null&&!con.isClosed()){
con.close();
}
if(ps!=null){
ps.close();
}
if(rs!=null){
rs.close();
}
%>