Stworzyłem prostą stronę logowania, na której użytkownik poda nazwę użytkownika i hasło, a następnie zostanie zapisany w sesji. Po kliknięciu przycisku "wyślij" pojawi się powitalny użytkownik lub nazwa. A jeśli użytkownik zaczeka kilka sekund, sesja wygaśnie i automatycznie powróci do strony logowania.Utwórz prostą stronę logowania za pomocą jsp i sesji
Oto moja strona logowania
<%@ page import="java.io.*,java.util.*" language="java" contentType="text/html;
charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<jsp:useBean id="user" class="user.LoginUser" scope="session"></jsp:useBean>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>login</title>
</head>
<body>
<h1><center>Give your login details</center></h1>
<form method="post" action="check.jsp">
Username:<input type="text" name="username" size="20" value="<%=user.getUser() %>" > <br>
Password:<input type="password" name="password" size="20" value=<%=user.getPassword() %> ><br>
<input type="submit">
</form>
</body>
</html>
teraz w check.jsp robię moją część sprawdzanie nazwy użytkownika i hasła
<%@ page import="java.io.*,java.util.*" language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<jsp:useBean id="user" class="user.LoginUser" scope="session"></jsp:useBean>
<jsp:setProperty name="user" property="*"/>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>login checking</title>
</head>
<body>
<%
String USER=user.getUsername();
int PASSWORD=user.getPassword();
if(USER.equals("abhirup"))
{
if(PASSWORD==54321)
{
pageContext.forward("display.jsp");
}
else
{
out.println("Wrong password");
pageContext.include("login.jsp");
}
pageContext.include("login.jsp");
}
%>
</body>
</html>
i wreszcie jestem wyświetlając go w display.jsp
<%@ page import="java.io.*,java.util.*" page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<jsp:useBean id="user" class="user.LoginUser" scope="session" ></jsp:useBean>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Display</title>
</head>
<body>
<% String title="Welcome : successful login";
out.println(title);%>
<h3><center>Your Name:Abhirup Parui</center></h3><br>
Username<%=user.getUsername()%><br>
<%session.setMaxInactiveInterval(20);
pageContext.include("login.jsp");
%>
</body>
</html>
, a także jest to mój plik LoginUser.java
package user;
public class LoginUser {
String username;
int password;
public void setUsername(String value)
{
username=value;
}
public void setPassword(int value)
{
password=value;
}
public String getUsername(){return username;}
public int getPassword(){return password;}
}
Używam serwera Eclipse IDE i Tomcat. Eclipse nie wyświetlił żadnego błędu na żadnej ze stron, ale nadal jest wyświetlany po uruchomieniu strony login.jsp.
I am getting this error on running login.jsp
Śledzę ten link
pomóż mi znaleźć moje błędy.
Aktualizacja
można pomyślnie uruchomić moją stronę logowania. I am getting this error now, but could not figure out where is the error. last part of the error is this
jak naprawić ten błąd. help
Tak, działa. Czy możesz wyjaśnić, dlaczego strony jsp są domyślnie przechowywane w folderze WEB-INF? – insanity
Ludzie zazwyczaj umieszczają pliki JSP w WEB-INF, aby nie były publicznie dostępne. Serwlety są udostępniane za pośrednictwem publicznego adresu URL zdefiniowanego w web.xml, więc żądanie trafia do serwletu, servelet przetwarza go, a następnie przesyła dalej żądanie do strony jsp, używając czegoś takiego jak 'request.getRequestDispatcher (" path/to/my /page").forward(request, response); '. – clav
dziękuję @clav – insanity