我正在使用eclipse中的servlet和JDBC创建一个用户验证程序。如果用户将以HTML格式输入其用户名和密码,则将在数据库中搜索这些参数,并且如果输入用户名和密码的用户退出,则用户将被提升到下一页。我的项目设置看起来像这样我只添加了MySQL连接器jar和servlet API jar
String name = request.getParameter("username");
String password = request.getParameter("userpass");
if(LoginDao.validate(name, password)){
RequestDispatcher rd = request.getRequestDispatcher("Weclome.html");
rd.forward(request,response);
}
else{
out.print("Sorry username or password error");
RequestDispatcher rd = request.getRequestDispatcher("index.html");
rd.include(request,response);
}
out.close();
这是在validate()方法中:
public static boolean validate(String name,String password){
boolean status=false;
try{
Class.forName("com.mysql.cj.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/ankit","root","root");
PreparedStatement ps = con.prepareStatement( "select * from usereg where name=? and pass=?");
ps.setString(1,name);
ps.setString(2,password);
ResultSet rs = ps.executeQuery();
status = rs.next();
}catch(Exception e){
System.out.println(e);
}
return status;
}
但是每次运行程序时都会出现404错误: Message / LoginForm / FirstServlet 描述:源服务器没有找到目标资源的当前表示,或者不愿意透露存在该资源。
你检查了你的RequestDispatcher
声明吗?我想你错过了你的html文件的正确拼写,如Weclome.html
而不是Welcome.html