import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
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;
import beans.UserBean;
public class UserServlet extends HttpServlet{
/**
*
*/
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request,HttpServletResponse response)throws
ServletException,IOException{
String action = request.getParameter("action");
String email = request.getParameter("email");
String password = request.getParameter("password");
String username = request.getParameter("username");
if(action==null)action="";
if(email==null)email="";
if(password==null)password="";
if(username==null)username="";
UserBean user = new UserBean();
RequestDispatcher view;
if(action.equals("login")){
user = queryARecord(email,password);
if(user!=null){
HttpSession session = request.getSession();
session.setAttribute("userinfo", user);
view = request.getRequestDispatcher("welcome.jsp");
view.forward(request, response);
}
else{
view=request.getRequestDispatcher("error1.jsp");
response.setContentType("text/html;charset=utf-8");
view.forward(request, response);
}
}
else if(action.equals("register")){
view = request.getRequestDispatcher("register.jsp");
response.setContentType("text/html;charset=utf-8");
view.forward(request, response);
}
else if(action.equalsIgnoreCase("confirm")){
user.setEmail(email);
user.setUsername(username);
user.setPassword(password);
if(insertARecord(user)){
HttpSession session = request.getSession();
session.setAttribute("userinfo", user);
view=request.getRequestDispatcher("welcome.jsp");
view.forward(request, response);
}else{
view=request.getRequestDispatcher("error2.jsp");
view.forward(request, response);
}
}
}
public void doPost(HttpServletRequest request,HttpServletResponse response)throws
ServletException,IOException{
doGet(request,response);
}
public Connection getConnection(){
Connection connection = null;
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://127.0.0.1:3306/fuck";
String user = "root";
String password = "0922";
try{
Class.forName(driver);
Connection conn = DriverManager.getConnection(url,user,password);
if(!conn.isClosed())
System.out.println("成功连接!");
}catch(ClassNotFoundException e1){
e1.printStackTrace();
}catch(SQLException e2){
e2.printStackTrace();
}
return connection;
}
public void closeConnection(Connection connection){
try{
if(connection!=null)
connection.close();
connection=null;
System.out.println("成功关闭");
}catch(SQLException e3){
e3.printStackTrace();
}
}
public void closePstmt(PreparedStatement pstmt){
try{
if(pstmt!=null)
pstmt.close();
pstmt=null;
}catch(SQLException e){
e.printStackTrace();
}
}
public void closeResultSet(ResultSet rs){
try{
if(rs!=null)
rs.close();
rs=null;
}catch(SQLException e){
e.printStackTrace();
}
}
public UserBean queryARecord(String email,String password){
String queryStr = "select * from userlist where email=? and password=?";
Connection conn = null;
PreparedStatement pstmt=null;
ResultSet rs = null;
UserBean result = null;
if(email==null||password==null)return result;
try{
conn=getConnection();
pstmt=conn.prepareStatement(queryStr);
pstmt.setString(1,email);
pstmt.setString(2,password);
rs=pstmt.executeQuery();
if(rs.next()){
result = new UserBean();
result.setEmail(rs.getString(1));
result.setUsername(rs.getString(2));
result.setPassword(rs.getString(3));
}
}catch(SQLException e){
e.printStackTrace();
}finally{
closeResultSet(rs);
closePstmt(pstmt);
closeConnection(conn);
}
return result;
}
public boolean insertARecord(UserBean user){
String insertStr = "insert into userlist values (?,?,?)";
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
if(user==null)return false;
try{
conn = getConnection();
pstmt = conn.prepareStatement(insertStr);
pstmt.setString(1, user.getEmail());
pstmt.setString(2, user.getUsername());
pstmt.setString(3, user.getPassword());
if(pstmt.executeUpdate()!=0)return true;
}catch(SQLException e){
e.printStackTrace();
return false;
}finally{
closeResultSet(rs);
closePstmt(pstmt);
closeConnection(conn);
}
return false;
}
}
这个servlet运行时老报java.lang.NullPointerException,请大家看看错在哪里。
最新推荐文章于 2024-08-05 23:23:24 发布