登录信息保存到SESSION后显示在首页的问题 现在在登陆一次后,不需要输入用户名密码直接提交在首页就可以显示。
这是SERVLET中的代码package com.weibo.servlets;import java.io.*;
import java.sql.*;
import com.weibo.*;
import com.weibo.biz.UserAccountBiz;
import com.weibo.biz.impl.UserAccountBizImpl;
import com.weibo.dao.UserAccountDao;
import com.weibo.dao.impl.UserAccountDaoImpl;import javax.jms.Session;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;public class LoginPass extends HttpServlet { public LoginPass() {
super();
} public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
} public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { // doPost(request, response);
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
boolean pass = false;
String email = request.getParameter("email");
String password = request.getParameter("password"); // response.setContentType("text/html");
// PrintWriter out = response.getWriter();
HttpSession session = request.getSession();
UserAccountBiz userBiz = new UserAccountBizImpl();
boolean t = userBiz.isPassUser(email, password);
if(t){
System.out.println("t true");
}
if(t==false){
System.out.println("t false");
}
if (t) {
pass = true; session.setAttribute("pass", pass);
session.setAttribute("email", email);
session.setAttribute("pwd", password); // response.sendRedirect("pLogin2.jsp");
// RequestDispatcher requestDispatcher = request
// .getRequestDispatcher("pLogin2.jsp");
// requestDispatcher.forward(request, response);
request.getRequestDispatcher("index.jsp")
.forward(request, response);
} else {
pass = false;
session.setAttribute("email", email);
request.getRequestDispatcher("Login.jsp")
.forward(request, response);
// response.sendRedirect("pLogin2.jsp");
} // out
// .println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
// out.println("<HTML>");
// out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
// out.println(" <BODY>");
// out.print(" This is ");
// out.print(this.getClass());
// out.println(", using the POST method");
// out.println(" </BODY>");
// out.println("</HTML>");
// out.flush();
// out.close();
} public void init() throws ServletException {
// Put your code here
}}
这是登陆页jsp<center>
<div class="middleCt">
<form action="LoginPass" method="post">
<div class="middleLText">
<input name="email" type="text" style="color:teal;" onblur="if(!value){value=defaultValue};isEmail(this.value)" onfocus="if(this.value==defaultValue) {this.value='';this.type='text'}"value="Your E-mail here..." size="50" />
</div>
<div class="middleRText">
<input name="password" type="password" style="color:teal;" onfocus="if(this.value==defaultValue) {this.value='';this.type='password'}" onblur="if(!value) {value=defaultValue; this.type='text';}" size="50" />
</div>
<div class="middleButton"><input name="loginSubmit" type="submit" value="OK" /></div>
</form>
</div>
</center>
<c:if test="${pass==false}">
alert("你是输入的Email或者password有误!");
</c:if>
这是主页显示登录用户信息的代码<div class="topUser">
<c:if test="${pass==true}">
您好,尊敬的${email }用户
</c:if>
<c:if test="${pass==false}">
请登录
</c:if>
</div>
这是SERVLET中的代码package com.weibo.servlets;import java.io.*;
import java.sql.*;
import com.weibo.*;
import com.weibo.biz.UserAccountBiz;
import com.weibo.biz.impl.UserAccountBizImpl;
import com.weibo.dao.UserAccountDao;
import com.weibo.dao.impl.UserAccountDaoImpl;import javax.jms.Session;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;public class LoginPass extends HttpServlet { public LoginPass() {
super();
} public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
} public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { // doPost(request, response);
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
boolean pass = false;
String email = request.getParameter("email");
String password = request.getParameter("password"); // response.setContentType("text/html");
// PrintWriter out = response.getWriter();
HttpSession session = request.getSession();
UserAccountBiz userBiz = new UserAccountBizImpl();
boolean t = userBiz.isPassUser(email, password);
if(t){
System.out.println("t true");
}
if(t==false){
System.out.println("t false");
}
if (t) {
pass = true; session.setAttribute("pass", pass);
session.setAttribute("email", email);
session.setAttribute("pwd", password); // response.sendRedirect("pLogin2.jsp");
// RequestDispatcher requestDispatcher = request
// .getRequestDispatcher("pLogin2.jsp");
// requestDispatcher.forward(request, response);
request.getRequestDispatcher("index.jsp")
.forward(request, response);
} else {
pass = false;
session.setAttribute("email", email);
request.getRequestDispatcher("Login.jsp")
.forward(request, response);
// response.sendRedirect("pLogin2.jsp");
} // out
// .println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
// out.println("<HTML>");
// out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
// out.println(" <BODY>");
// out.print(" This is ");
// out.print(this.getClass());
// out.println(", using the POST method");
// out.println(" </BODY>");
// out.println("</HTML>");
// out.flush();
// out.close();
} public void init() throws ServletException {
// Put your code here
}}
这是登陆页jsp<center>
<div class="middleCt">
<form action="LoginPass" method="post">
<div class="middleLText">
<input name="email" type="text" style="color:teal;" onblur="if(!value){value=defaultValue};isEmail(this.value)" onfocus="if(this.value==defaultValue) {this.value='';this.type='text'}"value="Your E-mail here..." size="50" />
</div>
<div class="middleRText">
<input name="password" type="password" style="color:teal;" onfocus="if(this.value==defaultValue) {this.value='';this.type='password'}" onblur="if(!value) {value=defaultValue; this.type='text';}" size="50" />
</div>
<div class="middleButton"><input name="loginSubmit" type="submit" value="OK" /></div>
</form>
</div>
</center>
<c:if test="${pass==false}">
alert("你是输入的Email或者password有误!");
</c:if>
这是主页显示登录用户信息的代码<div class="topUser">
<c:if test="${pass==true}">
您好,尊敬的${email }用户
</c:if>
<c:if test="${pass==false}">
请登录
</c:if>
</div>
这个函数会在你点击浏览器的关闭按钮时,自动触发的。window.onbeforeunload = function(){
//在这里发送一个ajax请求至服务器,清空session里面的用户信息,或者是直接销毁session。
}
session.invalidate();
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
// 跳转到初始登录界面
response.sendRedirect("login.jsp");