Игра вокруг с вещью, которую я нашел за недели и я решил соединить немного явского веб-приложения, где вы обязаны логин.
Данные для входа в систему взяты от MySQL базы данных.
Это все сделано через netbeans. Я добавил MySQL водителя к своему заявлению и в моем веб-сервере (glassfish), у меня есть связь с моей базой данных.
Но проблема, которую я продолжаю получать, - как только я поразил логин, она идет в мой "ReadLogin.jsp" и не перемещается оттуда. имя пользователя и пароль правильны, таким образом, я не знаю проблемы.
Кодекс для моих трех страниц следующие
Login.jsp
<%
String error = request.getParameter("error");
if (error == null || error == "null") {
error = "";
}
%>
<html>
<head>
<script>
function trim(s) {
return s.replace( /^\s*/, "" ).replace( /\s*$/, "" );
}
function validate() {
if (trim(document.frmLogin.UserName.value) == "") {
alert("Login empty");
document.frmLogin.UserName.focus();
return false;
} else if(trim(document.frmLogin.Pwd.value)=="") {
alert("password empty");
document.frmLogin.Pwd.focus();
return false;
}
}
</script>
</head>
<body>
<div><%=error%></div>
<form name="frmLogin" onSubmit="return validate();" action="ReadLogin.jsp" method="post"> <%--return validate prompts script above to check if any text boxes are left empty--%>
User Name <input type="text" name="UserName" />
Password <input type="password" name="Pwd" />
<input type="submit" name="Submit" value="Submit" />
</form>
</body>
</html>
Следующая страница - "ReadLogin.jsp"
<%
Connection conn = null;
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/project","root", "nbuser");
ResultSet rsdoLogin = null;
PreparedStatement psReadLogin = null;
String sUserID = request.getParameter("UserName");
String sPassword = request.getParameter("Pwd");
String message = "User login successfully ";
try {
String sqlOption="SELECT * FROM USERS where"
+" user_id='"+sUserID+"' and password'"+sPassword+"'";
psReadLogin = conn.prepareStatement(sqlOption);
psReadLogin.setString(1, sUserID);
psReadLogin.setString(2, sPassword);
rsdoLogin=psReadLogin.executeQuery();
if(rsdoLogin.next()) {
response.sendRedirect("success.jsp?error="+message);
} else {
message="No user or password matched" ;
response.sendRedirect("login.jsp?error="+message);
}
}
catch(Exception e)
{
e.printStackTrace();
}
/// close object and connection
try{
if(psReadLogin!=null){
psReadLogin.close();
}
if(rsdoLogin!=null){
rsdoLogin.close();
}
if(conn!=null){
conn.close();
}
}
catch(Exception e)
{
e.printStackTrace();
}
%>
тогда страница продукции должна быть просто простым "success.jsp"
<html>
<body>
Hello World!
</body>
</html>
Это получено, чтобы быть чем-то не так с моим readlogig файлом, поскольку я играл вокруг с другой версией, и я могу поместить данные в базу данных от формы jsp, но я не могу заставить его делать особенность логина, которая была бы главной функцией к небольшому инструменту, который я пытаюсь разработать