ユーザーがユーザー名とパスワードを入力する単純なログインページを作成し、それをセッションに保存します。送信ボタンをクリックすると、ウェルカムユーザーまたは名前が表示されます。また、ユーザーが数秒間待機すると、セッションが期限切れになり、自動的にログインページに戻ります。
これが私のログインページです
<%@ 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>
今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.*" 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は、どのページでも単一のエラーを表示していませんが、login.jspページを実行すると表示されます。
私はこれに従いました リンク
私のエラーを見つけるのを手伝ってください。
更新
ログインページを正常に実行できます。 現在、このエラーが発生していますが、エラーの場所を特定できませんでした。エラーの最後の部分はこれです
これらのエラーを修正する方法。助けて
ブラウザからlogin.jspに直接アクセスしようとしているため、WEB-INFディレクトリの外に移動する必要があります-WEB-INF内のファイルにはパブリックにアクセスできません。 login.jspを1つのディレクトリに移動し、ブラウザにhttp://localhost:8088/abhirup/login.jsp
と入力すると、ページが表示されます。ただし、jspページをWEB-INF/jspなどに配置し、サーブレットを使用してリクエストをインターセプトおよび処理してから、サーブレットを適切なjspページに転送することは、かなり一般的な方法です。
page
宣言の前にWord language
があるため、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"%>
私も同じコードを試しましたが、2つのJSPファイルにエラーが見つかりました
私のlogin.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>
修正されたdisplay.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;
}
}
親切にこのコードを試して、パスワードに文字列値を割り当てることにより、コードにいくつかの変更を加えました。また、この動的Webプロジェクトを実行するためにEclipse juno IDEおよびApache Tom Cat v 7.0を使用しました。さらにエラーが発生する場合は、ぜひお知らせください。