Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Create a simple Login page using jsp and session

I have created a simple login page in which user will give an username and password , and then it will be stored in session. After clicking on submit button it will show welcome user or the name. And if the user waits for few seconds then the session will expire and it automatically return back to the login page.

Here is my login page

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

now in check.jsp i am doing my checking part for username and password

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

and then finally i am displaying it in 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>

and also this is my LoginUser.java file

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

}

I am using Eclipse IDE and Tomcat server. Eclipse has shown not a single error in any of the pages but still when i run my login.jsp page.

I am getting this error on running login.jsp

i have followed this link

please help me to find my errors.

Update

I can successfully run my login page. I am getting this error now, but could not figure out where is the error. last part of the error is this

how to fix these error . help

like image 787
insanity Avatar asked Aug 13 '13 16:08

insanity


1 Answers

Because you're trying to access login.jsp directly from the browser you have to move it out of the WEB-INF directory - files in WEB-INF are not publicly accessible. If you move login.jsp up one directory and enter http://localhost:8088/abhirup/login.jsp in your browser it should pull up the page. However, it is a fairly common practice to put jsp pages under WEB-INF/jsp or something similar and use a servlet to intercept and process requests and then have the servlet forward to the appropriate jsp page.

You have a syntax error on line 1, column 46 of display.jsp because you have the word page before your language declaration. Change this:

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

to this:

<%@ page import="java.io.*,java.util.*" language="java" contentType="text/html;  charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
like image 115
clav Avatar answered Sep 21 '22 15:09

clav