2013-08-13 11 views
6

ユーザーがユーザー名とパスワードを入力してセッションに保存する単純なログインページを作成しました。送信ボタンをクリックすると、ウェルカムユーザーまたは名前が表示されます。ユーザーが数秒待つと、セッションは期限切れになり、自動的にログインページに戻ります。ここでjspとセッションを使用して簡単なログインページを作成してください

は私のログインページが今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> 
<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> 

のための私のチェックの部分をやっているし、その後、最終的に私はdisplay.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> 

です

<%@ 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サーバーを使用しています。 Eclipseでは、いずれのページでも1つのエラーは表示されませんでしたが、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を1つ上のディレクトリに移動し、ブラウザに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 /page)).forward(リクエスト、レスポンス); '。 – clav

+0

ありがとう@clav – insanity

1

私も同じコードを試してみましたが、私は私のlogin.jspがコードを修正2つの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コード:

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

私のJavaファイル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を割り当てることによって、コード内のいくつかの変更を行いました。また、この動的Webプロジェクトを実行するためにEclipse juno IDEとApache Tom Cat v 7.0を使用しました。それ以上のエラーがある場合は、私に知らせて欲しいと思います。

+2

あなたが行った変更をマークするか、変更した部分だけを投稿してください。これによって、それはメイクが難しい。 – 4dgaurav

+2

Gaurav私は理解しました。申し訳ありませんが、なぜそれが起こったのかをオーバーフローするのは新しいです。次の投稿以降、私はそれを世話します。ありがとうございました。 – Reneesh

関連する問題