2013-08-13 1 views
6

사용자가 사용자 이름과 비밀번호를 제공하는 간단한 로그인 페이지를 만든 다음 세션에 저장합니다. 제출 버튼을 클릭하면 환영받는 사용자 또는 이름이 표시됩니다. 사용자가 몇 초 동안 기다리면 세션이 만료되고 자동으로 로그인 페이지로 돌아갑니다. 여기 jsp 및 세션을 사용하여 간단한 로그인 페이지 만들기

내가 사용자 이름과 암호를 다음

<%@ 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> 

및 내 검사 부분을하고있는 중이 야 check.jsp 지금 내 로그인 페이지

<%@ 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> 

드디어 내가 인 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> 

또한 내 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;} 

} 

Eclipse IDE 및 Tomcat 서버를 사용하고 있습니다. 이클립스는 어떤 페이지에서도 단일 오류가 아니라 login.jsp 페이지를 실행할 때도 오류를 보였다.

I am getting this error on running login.jsp

이 나는이 link

내 오류를 발견하는 데 도움 주시기 바랍니다 따랐다.

업데이트

나는 성공적으로 내 로그인 페이지를 실행할 수 있습니다. I am getting this error now, but could not figure out where is the error. last part of the error is this

이러한 오류를 수정하는 방법 help

답변

4

브라우저에서 login.jsp에 직접 액세스하려고하므로 WEB-INF 디렉토리에서 직접 이동해야합니다. WEB-INF의 파일은 공개적으로 액세스 할 수 없습니다. login.jsp를 하나의 디렉토리로 옮기고 브라우저에 http://localhost:8088/abhirup/login.jsp을 입력하면 페이지가 표시됩니다. 그러나 jsp 페이지를 WEB-INF/jsp 또는 비슷한 것으로 넣고 서블릿을 사용하여 요청을 가로 채고 처리 한 다음 해당 JSP 페이지로 서블릿을 전달하는 것이 일반적으로 일반적입니다.

language 선언 앞에 단어 page이 있으므로 display.jsp의 1 행 46 열에 구문 오류가 있습니다. 이 변경이에

<%@ page import="java.io.*,java.util.*" page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> 

을 :

<%@ page import="java.io.*,java.util.*" language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> 
+0

예 작동합니다. JSP 페이지가 기본적으로 WEB-INF 폴더에 저장된 이유를 설명해 주시겠습니까? – insanity

+0

사람들은 일반적으로 jsp 파일을 WEB-INF에 넣으므로 공개적으로 액세스 할 수 없습니다. 서블릿은 web.xml에 정의 된 공용 URL을 통해 노출되므로 요청은 서블릿으로 이동하고 서블릿은이를 처리 한 다음 'request.getRequestDispatcher ("path/to/my)와 같은 것을 사용하여 JSP 페이지에 요청을 전달합니다 /page().forward(request, response);'. – clav

+0

감사합니다 @clav – insanity

1

는 또한 동일한 코드를 시도하고 나는

내의 login.jsp 코드는 아래에 주어진대로 수정이 개 JSP 파일

에 몇 가지 오류를 발견했습니다 : 다음과 같이

<%@ page import="java.io.*,java.util.*" language="java" contentType="text/html;      
charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> 
<%@ page import="user.LoginUser"%> 

<!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 page</title> 
</head> 
<body> 

<h1><center>Give your login details</center></h1> 
<form method="post" action="check.jsp"> 
User name:<input type="text" name="username" size="20" value="<%=user.getUsername() %>"><br> 
Password:<input type="password" name="password" size="20" value="<%=user.getPassword()%>" ><br> 
Submit <input type="submit"> 
</form> 

</body> 
</html> 

수정 check.jsp 코드는 다음과 같습니다

,536,913,632 10
<%@ page import="java.io.*,java.util.*" language="java" contentType="text/html;charset=ISO-8859-1"pageEncoding="ISO-8859-1"%> 
<%@ page import="user.LoginUser"%> 
<!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(); 
String PASSWORD=user.getPassword(); 
if(USER.equals("admin")) 
    { 
if(PASSWORD.equals("admin")) 
    { 
pageContext.forward("display.jsp"); 
    } 
else 
    { 
out.println("Wrong password"); 
pageContext.include("login.jsp"); 
    } 
pageContext.include("login.jsp"); 
} 
%> 

</body> 
</html> 

수정 된 표시.JSP 코드를 다음과 같이

<%@ page import="java.io.*,java.util.*" language="java" contentType="text/html;charset=ISO-8859-1"pageEncoding="ISO-8859-1"%> 
<%@ page import="user.LoginUser"%> 
<!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 : Reneesh </center> </h3><br> 
User name : <%=user.getUsername()%><br> 
<%session.setMaxInactiveInterval(20); 
%> 
</body> 
</html> 

내 자바 파일 LoginUser.java 코드 수정은 다음과 같습니다

package user; 

public class LoginUser { 
String username; 
String password; 

public void setUsername(String value) 
    { 
     username=value; 
    } 

public void setPassword(String value) 
    { 
    password=value; 
    } 

public String getUsername() 
    { 
    return username; 
    } 

public String getPassword() 
    { 
    return password; 
    } 

} 

친절이 코드로 시도, 나는 암호를 문자열 valuue을 할당하여 코드에서 일부 변경했습니다. 또한이 동적 웹 프로젝트를 실행하기 위해 Eclipse juno IDE와 Apache Tom Cat v 7.0을 사용했습니다. 추가 오류가 있으면 알려 주시면 알려 드리겠습니다.

+2

변경 한 내용을 표시하거나 변경 한 부분 만 게시하십시오. 이것으로 메이크업하기가 어렵습니다. – 4dgaurav

+2

Gaurav 나는 이해했다. 죄송합니다 스택 오버플로 thats 새로운 일어났습니다. 다음 게시물 이후부터 나는 그것을 돌볼 것입니다. 나를 분명하게 해주셔서 고맙습니다. – Reneesh

관련 문제