2013-08-13 25 views
6

Kullanıcıya kullanıcı adı ve parola verilecek basit bir oturum açma sayfası oluşturdum ve sonra oturumda saklanacak. Gönder düğmesine tıkladıktan sonra karşılama kullanıcı veya adı gösterecektir. Kullanıcı birkaç saniye beklerse, oturumun süresi dolar ve otomatik olarak giriş sayfasına geri döner. İşte jsp ve oturum kullanarak basit bir Giriş sayfası oluşturun

i kullanıcı adı ve şifre daha sonra

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

ve benim kontrol parçasını yapıyorum check.jsp şimdi benim giriş sayfası

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

olduğunu nihayet ben display.jsp

yayınlamaya am
<%@ 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> 

ve ayrıca bu benim LoginUser.java dosyamdır

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 ve Tomcat sunucusunu kullanıyorum. Eclipse, sayfaların hiçbirinde tek bir hata görmedi ancak hala login.jsp sayfamı çalıştırdığımda.

I am getting this error on running login.jsp

ben bu link

benim hataları bulmak için bana yardım edin izlemiştir.

Güncelleme

başarıyla benim giriş sayfasını çalıştırabilirsiniz. Bu hatayı nasıl düzeltebilirim? last part of the error is this

. help

cevap

4

Doğrudan tarayıcıdan login.jsp'ye erişmeye çalıştığınız için WEB-INF dizininden çıkarmanız gerekir - WEB-INF içindeki dosyalar herkese açık değildir. Eğer login.jsp'yi bir dizine taşırsanız ve tarayıcınıza http://localhost:8088/abhirup/login.jsp girerseniz sayfayı yukarı çekmelisiniz. Bununla birlikte, jsp sayfalarını WEB-INF/jsp veya benzer bir şeye yerleştirmek ve istekleri işlemek ve işlemek için bir sunucu uygulaması kullanmak ve sunucu uygulamasını uygun jsp sayfasına yönlendirmek oldukça yaygın bir uygulamadır.

page bildirgenizin language bildiriminden önce girdiğinden, display.jsp sütununun 46. satırında bir sözdizimi hatası var. Bu değiştirme: Buna

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

Evet, işe yarıyor. Lütfen jsp sayfalarının neden WEB-INF klasörünün içinde saklandığını açıklayabilir misiniz? – insanity

+0

İnsanlar genellikle, WEB-INF'e özel olarak jsp dosyalarını yerleştirir, böylece herkese açık değildirler. Servletler, web.xml dosyasında tanımlanmış bir genel URL aracılığıyla açıklanır, bu nedenle istek bir sunucuya gider, servelet bunu işler ve daha sonra isteğe göre bir request() requestRequestDispatcher ("path/to/my") kullanarak bir jsp sayfasına yönlendirir. /page").forward(request, yanıt); '. – clav

+0

Teşekkür ederiz @clav – insanity

1

Ben de aynı kodu çalıştı ve ben

Benim login.jsp'ye kod aşağıda verilmiştir olarak düzeltilmiş iki JSP dosyaları

bazı hata buldum: aşağıdaki gibi

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

Düzeltilmiş check.jsp kodudur:

Düzeltilmiş ekran.jsp kodu şu şekildedir:

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

Benim Java dosya LoginUser.java kodu düzeltilmiş geçerli:

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; 
    } 

} 

Lütfen bu kodu ile deneyin, ben Şifre için dize valuue atayarak kodunda bazı değişiklikler yaptık. Bu Dinamik web projesini yürütmek için Eclipse juno IDE ve Apache Tom Cat v 7.0'ı da kullandım. Umarım daha fazla hata varsa bana haber ver.

+2

Lütfen yaptığınız değişiklikleri işaretleyin veya yalnızca cevabınızın değiştirdiğiniz kısmını gönderin. Bununla maket yapmak zor. – 4dgaurav

+2

Gaurav Anladım. Üzgünüm, neden taştığını anlayabilmek için yeniyim. Bir sonraki yazıdan sonra ben ilgileneceğim. Beni açıklığa kavuşturduğun için teşekkürler. – Reneesh

İlgili konular