Sei sulla pagina 1di 8

Struts 2 Login,Struts 2 Session http://www.roseindia.net/struts/struts2/struts2-login....

Java| Frameworks | Databases| Technology| Development | Build/Test tools| OS| Servers| PHP| Books| More| What's New?
Frameworks| Hibernate| Struts| JSF| JavaFX| Ajax| Spring| DOJO| JDO| iBatis| Questions? | Software Development

Search
iPhone Baby Names
Application

Login/Logout With Session


Ads by Google Struts Class Action Support for Struts Struts 2 Tutorial

In this section, we are going to develop a login/logout application with session.

Login/Logout With Session Tell A Friend


Your Friend Name

In this section, we are going


to develop a login/logout
application with session. This
Programming
application checks the user Tutorials
authentication. Whenever you Spring
run, it takes a user id and a Framework
password (Both the user id Hibernate-
and password is "admin") it Tutorials
displays the welcome page, Ajax
Core Java
when both fields are correctly
Database-
filled.
Tutorials
Enterprise
Java
Create an action mapping in the struts.xml file. Here is the code to be
iPhone
added in the struts.xml: J2ME-Tutorials
Java-Tutorials
JavaScript
<action name="login" JDBC-Tutorials
class="net.roseindia.loginAction" > JMS-Tutorials
<result name="success" JPA
type="dispatcher">/pages/uiTags
JSP-Tutorials
/Success.jsp</result>
<result name="error" Open Source
type="redirect">/pages/uiTags PHP
/Login.jsp</result> Servlets-
</action> Tutorials
Struts-
<action name="logout" Tutorials
class="net.roseindia.logoutAction" > Technology
<result name="success" UML-Tutorials
type="redirect">/pages/uiTags
Web-Services-
/checkLogin.jsp</result>
Tutorials
</action>
XML
Develop an action class that handles the login request. The Struts 2 More
framework provides a base ActionSupport class that implements Tutorials....
commonly used framework interfaces. In our action class
(loginAction.java) we have extended ActionSupport class.

1 of 8 15-10-2010 07:24
Struts 2 Login,Struts 2 Session http://www.roseindia.net/struts/struts2/struts2-login....

Ads by Google
Java Class
J2EE Class
Code Class
Logic Class

Here is the code of "loginAction" action class:


package net.roseindia;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ActionContext;
import java.util.*;
Recently Viewed
public class loginAction extends ActionSupport { JSP Alert
private String userId;
private String password; JSP CheckBox
public String execute() throws Exception{ JSP decode URL
Duplicated Session Variables
if ("admin".equals(userId) && "admin".equals(password)) { JSP Frameset
Map session = ActionContext.getContext().getSession(); JSP get Parameter
session.put("logged-in","true");
return SUCCESS; JSP Get URL
} JSP Include File
else{ JSP Include jsp
return ERROR; JSP Include Param
}
} Software Solutions
public String logout() throws Exception { Software Solutions and Services
Website Designing Services
Map session = ActionContext.getContext().getSession(); Web Designing Packages! From $150!
session.remove("logged-in");
return SUCCESS; Flex Outsourcing
} Hire Flex Developer
Website Designing Company Web Hosting
public String getPassword() { Website Designing Quotation
return password;
Hire PHP Developer
}
Hire PHP programmer
public void setPassword(String password) { PHP Outsourcing
this.password = password; Java Project Outsourcing
} Hire Software Developer
public String getUserId() { Hire Java Developer
return userId; Hire iPhone developer
} Outsourcing iPhone development
Offshore iPhone Apps Development
public void setUserId(String userId) {
this.userId = userId; Search Tutorials
}
}

Download this code.

Again, develop an action class to handle the logout operation. An action


class (logoutAction) we have extended ActionSupport class.
Here is the code of logoutAction action class:
package net.roseindia;
import javax.servlet.http.HttpSession;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ActionContext;
import java.util.*;

public class logoutAction extends ActionSupport {


public String execute() throws Exception {
Map session = ActionContext.getContext().getSession();
session.remove("logged-in");
return SUCCESS;
}
}

Download this code.

Develop Login Form: The GUI of the application consists of login


form (Login.jsp). The "Login.jsp" displays the login page to the
user.

Here is the code of Login.jsp file:


<%@ taglib prefix="s" uri="/struts-tags" %>

2 of 8 15-10-2010 07:24
Struts 2 Login,Struts 2 Session http://www.roseindia.net/struts/struts2/struts2-login....

<%@ page language="java" contentType="text/html"%>

<html>
<head>
<title>Insert Data here!</title>
<link href="<s:url value="/css/main.css"/>" rel="stylesheet"
type="text/css"/>
</head>
<body>
<s:form action="/roseindia/login.action" method="POST">
<s:textfield name="userId" label="Login Id"/><br>
<s:password name="password" label="Password"/><br>
<s:submit value="Login" align="center"/>
</s:form>
</body>
</html>

The "Success.jsp" page displays the Login Success message


(Welcome, you have logged-in.) and session (Session Time: Wed Aug
01 11:26:38 GMT+05:30 2007 and Logout ) when user gets successful
authentication. If you click the "Logout" then again login page is
displayed on the screen.
Here is the code of Success.jsp file:
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ page language="java" contentType="text/html" import="java.util.*"%>
<jsp:include page="/struts2tags/pages/uiTags/loginCheck.jsp" />

<html>
<head>
<title>Welcome, you have logined!</title>
</head>
<body>
Welcome, you have logined. <br />
<b>Session Time: </b><%=new Date(session.getLastAccessedTime())%>
<br /><br />
<a href="<%= request.getContextPath() %>/roseindia/logout.action">Logout</a>
<br />
</body>
</html>

This page logs out the valid user.


checkLogin.jsp

<%@ taglib prefix="s" uri="/struts-tags" %>


<%@ page language="java" contentType="text/html" import="java.util.*"%>
<html>
<head>
<title>Check validate!</title>
</head>
<body>
<s:if test="#session.login != 'admin'">
<jsp:forward page="/pages/uiTags/Login.jsp" />
</s:if>
</body>
</html>

Output:

Run this application by getting the login page:

Enter the wrong user id and password in the login page

3 of 8 15-10-2010 07:24
Struts 2 Login,Struts 2 Session http://www.roseindia.net/struts/struts2/struts2-login....

You get the following output:

Enter the correct user id and password in the login page:

You get the following output:

After clicking the "Logout". You get the following output:

4 of 8 15-10-2010 07:24
Struts 2 Login,Struts 2 Session http://www.roseindia.net/struts/struts2/struts2-login....

Related Links by Google


Struts Tutorials - Jakarta Strut Tutorials,Struts,Struts Exam...
INTRODUCION TO STRUTS FRAMEWORK
Struts Guide
Struts 2 Tutorial,Struts2 Examples,Apache Struts 2 Tutorials ...
Struts Projects,Struts Project
Struts Articles
Related Searches by Google
struts
shocks and struts
struts 2
login

» View all related Ads by Google JSP Class JSP Session BMW X5 Struts Coding Class
tutorials

More in this series... Most Read Latest Search

Validations using Struts 2 Annotations ... 2709 views


Struts 2 Downloads ... 618944 views
Struts 2 Tags Examples ... 619101 views
Struts 2 Url Validator ... 619145 views
Struts 2 double validator ... 619562 views
Struts 2 Tags (UI Tags) Examples ... 619663 views
Struts 2.0.4 Released ... 619753 views
Validations using Struts 2 Annotations ... 619768 views
Struts 2.0.2 Released ... 619841 views
Struts 2.0.3 Released ... 619859 views
» View all related tutorials

1
2
3
4
5

Related Tags: java c list framework template struts io tags download


annotations load sed ado release javadoc new tag aggregate change
features

Leave your comment:

5 of 8 15-10-2010 07:24
Struts 2 Login,Struts 2 Session http://www.roseindia.net/struts/struts2/struts2-login....

Name:

Email:

URL: http://www.roseindia.net/struts/struts2/struts2

Title:

Comments:

Enter
Code:

Submit Comment

Note: Emails will not be visible or


used in any way, and are not
required. Please keep comments
relevant. Any content deemed
inappropriate or offensive may
be edited and/or deleted.

No HTML code is allowed. Line


breaks will be converted
automatically. URLs will be
auto-linked. Please use BBCode
to format your text.

Add This Tutorial To:


Y!
Del.icio.us Digg Google Spurl Blink Furl Simpy MyWeb

Current Comments
10 comments so far (post your own) View All Comments Latest 10
Comments:
Where does session.login came from?

Posted by SunriseKid on Monday, 09.15.08 @ 08:33am | #79487


View This Comment Separately
hi to everybody,
in the article above the user needs to login and logout explicitally.
i need that the logout occours also when the user closes its browser and
when the session expires.

someone can help me?


thank's
Posted by michele on Saturday, 08.2.08 @ 15:30pm | #70529
View This Comment Separately
I'm a beginer of Struts Framework Programing.
i just started with this Login tiutorial but i got error at Runtime like this.
"The Struts dispatcher cannot be found. This is usually caused by using
Struts tags without the associated filter. Struts tags are only usable
when the request has passed through its servlet filter, which initializes

6 of 8 15-10-2010 07:24
Struts 2 Login,Struts 2 Session http://www.roseindia.net/struts/struts2/struts2-login....

the Struts dispatcher needed for this tag. "

at org.apache.struts2.views.jsp.TagUtils.getStack(TagUtils.java:60)
which is the
inbuit class file of strtus.jar file .

i'm using Oracle's Jdeveloper for development.

plz give me solution for this problem as soon as possible.

Thank you,
Rose India

Posted by Mayank Patel on Monday, 05.12.08 @ 14:24pm | #59449


View This Comment Separately
<s:if test="#session.login != 'admin'">

where does login come from?

Posted by struts beginner on Saturday, 05.10.08 @ 02:53am |


#59055
View This Comment Separately
Thanks for giving these tutorials which will help all the beginners in
struts.

I have some doubt in this tutorial(Login/Logout With Session). I am


listing it below.

1) What's the need of

public String logout() throws Exception {

Map session = ActionContext.getContext().getSession();


session.remove("logged-in");
return SUCCESS;
}

in loginAction.java

2)what's the need of

<jsp:include page="/struts2tags/pages/uiTags/loginCheck.jsp" />

in Success.jsp
I got the results without these. So what for it is written?

Hope i will get help form yours.

Thanks in Advance
Struts

Posted by sarin on Tuesday, 03.18.08 @ 10:20am | #53142


View This Comment Separately
Highly informative for struts2 beginners.
many thanks
Posted by dtrprasad on Wednesday, 03.12.08 @ 20:26pm | #52492

7 of 8 15-10-2010 07:24
Struts 2 Login,Struts 2 Session http://www.roseindia.net/struts/struts2/struts2-login....

View This Comment Separately


Hi, I'm currently learning the Struts2 through this tutorial, but at this
page, I got some error. When I do exactly what this page said, I can't
access the login.action, it says that there's some null pointer exception;
then I delete the "type=redirect" in the struts.xml file, in the login
action, it works. I don't know the reason:(
and my jdk is 1.5.0.13, tomcat version 6.0.16
can any one explain this? Thanks:)
Posted by stanley on Wednesday, 02.27.08 @ 08:30am | #50264
View This Comment Separately
my question is the same of vijaykumar
Posted by Cynthiadave on Sunday, 12.16.07 @ 06:01am | #42566
View This Comment Separately
The Success.jsp has this include - but I don't see where it is, and the
struts2tutorial.zip is missing all kinds of files from here.
Posted by Sean on Saturday, 12.8.07 @ 02:25am | #41570
View This Comment Separately
Hi
it is very usefull site for begginers like me. i have gone through this
sessions. i am having query related to session.put("logged-
in","true").my query here is where do we use those objects which are
declared in
session.put().

i would like to know about this.can any one help me here...........


Posted by vijaykumar on Tuesday, 11.27.07 @ 13:02pm | #40676
View This Comment Separately

Home | JSP | EJB | JDBC | Java Servlets | WAP | Free JSP Hosting | Search Engine | News Archive | Jboss 3.0 tutorial | Free Linux CD's | Forum | Blogs

About Us | Advertising On RoseIndia.net | Site Map | Privacy Policy

Send your comments, Suggestions or Queries regarding this site at roseindia_net@yahoo.com.

Copyright © 2008. All rights reserved.

404

8 of 8 15-10-2010 07:24

Potrebbero piacerti anche