這是servlet 下劃線的地方報錯,提示try catch,可是我看其他案例里面這個地方不需要try catch的,
@WebServlet("/Login")
public class Login extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username=request.getParameter("username");
String password=request.getParameter("password");
UserDao userdao=new UserDao();
User user=userdao.selectuser(username, password);
if(user!=null){
request.getRequestDispatcher("/usercenter.jsp").forward(request, response);
// HttpSession session = request.getSession();
// session.setAttribute("user", user);
}else{
// request.setAttribute("msg", "用戶名或密碼錯誤");
request.getRequestDispatcher("/index.jsp").forward(request, response);
}
}
}
這是UserDao
public User selectuser(String username,String password) throws Exception{
User user=new User();
Connection con = new DButil().getConnection(); //呼叫DButil getConnection()方法連接資料庫
String sql="select * from user where username=? and password=?";
PreparedStatement ps=null;
ResultSet rs=null;
ps = con.prepareStatement(sql);//向資料庫發起請求
ps.setString(1, username);//設定請求引數
ps.setString(2, password);
rs = ps.executeQuery();//獲得請求的結果集
if(rs.next()){//判斷是否存在查詢結果
String name = rs.getString("username");//username 是資料庫中的表頭username欄位,查詢結果賦值給name
String paw=rs.getString("password");
user.setUsername(name);//呼叫userset方法賦值
user.setPassword(paw);
}return user;
}
uj5u.com熱心網友回復:
因為你在userdao.selectuser(username, password);的方法將例外向外拋出啦,所以在你呼叫該方法的時候,要么通過try...catch進行例外處理,要么繼續向外拋出。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/103159.html
標籤:Java EE
