【发布时间】:2015-07-24 13:41:01
【问题描述】:
很好 我有一个带有登录表单的 jsp 页面,我使用的是 servlet,如果用户名和密码正确,则 servlet 将用户重定向到另一个页面,否则它会将他再次重定向到登录页面
当我使用正确的用户名和密码登录时,我会完美地重定向到 reservation.jsp,但是当我在表单中输入错误的用户名或密码时,当我点击提交按钮时,页面变为空白
这里是servlet
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.mysql.jdbc.PreparedStatement;
/**
* Servlet implementation class LogServlet
*/
@WebServlet("/LogServlet")
public class LogServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public LogServlet() {
super();
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/html");
String name=request.getParameter("name");
String password=request.getParameter("password");
PreparedStatement ps = null;
ResultSet rs = null;
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/log",
"root","");
ps = (PreparedStatement) conn.prepareStatement("select nom_client,username,password from client where username = ? and password = ?");
ps.setString(1, name);
ps.setString(2, password);
rs=ps.executeQuery();
try {
while(rs.next()){
if(password.equals(rs.getString("password")) && name.equals(rs.getString("username"))){
HttpSession session=request.getSession();
session.setAttribute("name",name);
PrintWriter out=response.getWriter();
request.getRequestDispatcher("reservation.jsp").include(request, response);
}
else{
response.sendRedirect("/login.jsp");
}}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.close();
}
catch(Exception e){e.printStackTrace();}
}
}
【问题讨论】:
-
如果这可能对您有帮助,请检查此stackoverflow.com/questions/18576159/…
-
另外,不要嵌套try catch块