2013-08-13 10 views
6

का उपयोग करके एक साधारण लॉगिन पृष्ठ बनाएं मैंने एक साधारण लॉगिन पृष्ठ बनाया है जिसमें उपयोगकर्ता उपयोगकर्ता नाम और पासवर्ड देगा, और फिर इसे सत्र में संग्रहीत किया जाएगा। सबमिट बटन पर क्लिक करने के बाद यह स्वागत उपयोगकर्ता या नाम दिखाएगा। और यदि उपयोगकर्ता कुछ सेकंड के लिए इंतजार कर रहा है तो सत्र समाप्त हो जाएगा और यह स्वचालित रूप से लॉगिन पृष्ठ पर वापस आ जाएगा।jsp और session

यहाँ मैं यूज़रनेम और पासवर्ड

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

} 

मैं ग्रहण आईडीई और टॉमकैट सर्वर का उपयोग कर रहा हूं। ग्रहण ने किसी भी पृष्ठ में एक भी त्रुटि नहीं दिखायी है, लेकिन फिर भी जब मैं अपना 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

इन त्रुटियों को कैसे ठीक करें। मदद

उत्तर

4

क्योंकि आप ब्राउज़र से सीधे login.jsp तक पहुंचने का प्रयास कर रहे हैं, आपको इसे वेब-आईएनएफ निर्देशिका से बाहर ले जाना है - वेब-आईएनएफ में फ़ाइलें सार्वजनिक रूप से सुलभ नहीं हैं। यदि आप login.jsp को एक निर्देशिका में ले जाते हैं और अपने ब्राउज़र में http://localhost:8088/abhirup/login.jsp दर्ज करते हैं तो उसे पृष्ठ खींचना चाहिए। हालांकि, यह जेएसपी पृष्ठों को वेब-आईएनएफ/जेएसपी या कुछ समान के तहत रखने के लिए एक आम बात है और अनुरोधों को अवरुद्ध करने और संसाधित करने के लिए सर्वलेट का उपयोग करें और फिर सर्वलेट को उपयुक्त जेएसपी पृष्ठ पर अग्रेषित करें।

आपके पास display1jsp के लाइन 1, कॉलम 46 पर एक वाक्यविन्यास त्रुटि है क्योंकि आपके language घोषणा से पहले आपके पास page शब्द है। इस बदलें:

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

हाँ यह काम करता है। क्या आप कृपया बता सकते हैं कि जेएसपी पेज डिफ़ॉल्ट रूप से वेब-आईएनएफ फ़ोल्डर के अंदर क्यों रखा गया? – insanity

+0

लोग आम तौर पर वेब-आईएनएफ में जेएसपी फाइलें डालते हैं ताकि वे सार्वजनिक रूप से पहुंच योग्य न हों। सर्वलेट को वेब.एक्सएमएल में परिभाषित सार्वजनिक यूआरएल के माध्यम से उजागर किया जाता है, इसलिए अनुरोध सर्वलेट पर जाता है, सर्विसलेट इसे संसाधित करता है और फिर इसे 'request.getRequestDispatcher ("path/to/my जैसे कुछ का उपयोग करके एक jsp पेज के अनुरोध के लिए आगे भेजता है। /page").forward(अनुरोध, प्रतिक्रिया); '। – clav

+0

धन्यवाद @clav – insanity

1

मैं भी एक ही कोड की कोशिश की और मैं दो 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> 

सही प्रदर्शन।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 बताए द्वारा कोड में कुछ परिवर्तन किए। मैंने इस गतिशील वेब प्रोजेक्ट को चलाने के लिए एक्लिप्स जूनो आईडीई और अपाचे टॉम कैट वी 7.0 का भी उपयोग किया। आशा है कि अगर आप और त्रुटि करेंगे तो आप कोशिश करेंगे और मुझे बताएंगे।

+2

कृपया आपके द्वारा किए गए परिवर्तनों को चिह्नित करें या केवल आपके उत्तर के उस हिस्से को पोस्ट करें जिसे आपने बदला था। इसके द्वारा मेकआउट करना मुश्किल है। – 4dgaurav

+2

गौरव मैं समझ गया। खेद है कि मैं ओवरफ्लो ढेर करने के लिए नया हूं, ऐसा क्यों हुआ। अगली पोस्ट से आगे मैं उसका ख्याल रखूंगा। मुझे स्पष्ट करने के लिए धन्यवाद। – Reneesh