web.xml
<?
xml version="1.0" encoding="UTF-8"
?>
< web-app version ="2.5"
xmlns ="http://java.sun.com/xml/ns/javaee"
xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation ="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" >
< filter >
< filter-name > struts2 </ filter-name >
< filter-class > org.apache.struts2.dispatcher.FilterDispatcher </ filter-class >
</ filter >
< filter-mapping >
< filter-name > struts2 </ filter-name >
< url-pattern > /* </ url-pattern >
</ filter-mapping >
</ web-app >
< web-app version ="2.5"
xmlns ="http://java.sun.com/xml/ns/javaee"
xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation ="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" >
< filter >
< filter-name > struts2 </ filter-name >
< filter-class > org.apache.struts2.dispatcher.FilterDispatcher </ filter-class >
</ filter >
< filter-mapping >
< filter-name > struts2 </ filter-name >
< url-pattern > /* </ url-pattern >
</ filter-mapping >
</ web-app >
srtuts.xml (WEB-INF/classes下)
<?
xml version="1.0" encoding="GBK"
?>
<! DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd" >
< struts >
< package name ="struts" extends ="struts-default" >
< action name ="Login" class ="HelloWorld.LoginAction" >
< result name ="success" > /helloworld/welcome.jsp </ result >
< result name ="error" > /helloworld/error.jsp </ result >
</ action >
</ package >
</ struts >
<! DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd" >
< struts >
< package name ="struts" extends ="struts-default" >
< action name ="Login" class ="HelloWorld.LoginAction" >
< result name ="success" > /helloworld/welcome.jsp </ result >
< result name ="error" > /helloworld/error.jsp </ result >
</ action >
</ package >
</ struts >
Action:
package
HelloWorld;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionContext;
public class LoginAction implements Action {
private String username;
private String password;
private String[] books;
public String[] getBooks() {
return books;
}
public void setBooks(String[] books) {
this.books = books;
}
public String execute() throws Exception{
if(this.getUsername().equals("admin")&&this.getPassword().equals("1234")){
ActionContext.getContext().getSession().put("user", this.getUsername());
BookService bs=new BookService();
this.setBooks(bs.getBooks());
return SUCCESS;
}else{
return ERROR;
}
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionContext;
public class LoginAction implements Action {
private String username;
private String password;
private String[] books;
public String[] getBooks() {
return books;
}
public void setBooks(String[] books) {
this.books = books;
}
public String execute() throws Exception{
if(this.getUsername().equals("admin")&&this.getPassword().equals("1234")){
ActionContext.getContext().getSession().put("user", this.getUsername());
BookService bs=new BookService();
this.setBooks(bs.getBooks());
return SUCCESS;
}else{
return ERROR;
}
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
BookService.java
package
HelloWorld;
public class BookService {
private String[] books=new String[]{
"Spring 2.0",
"Hibernate 3.2",
"Struts 2.0"
};
public String[] getBooks(){
return books;
}
}
public class BookService {
private String[] books=new String[]{
"Spring 2.0",
"Hibernate 3.2",
"Struts 2.0"
};
public String[] getBooks(){
return books;
}
}
index.jsp
<%
@ page language="java" contentType="text/html; charset=gb2312"
pageEncoding="gb2312" %>
<% @ taglib prefix="s" uri="/struts-tags" %>
< html >
< head >
< title ></ title >
</ head >
< body >
< s:form action ="Login" >
< s:textfield name ="username" label ="用户名" ></ s:textfield >
< s:password name ="password" label ="密码" ></ s:password >
< s:submit value ="login" ></ s:submit >
</ s:form >
</ body >
</ html >
pageEncoding="gb2312" %>
<% @ taglib prefix="s" uri="/struts-tags" %>
< html >
< head >
< title ></ title >
</ head >
< body >
< s:form action ="Login" >
< s:textfield name ="username" label ="用户名" ></ s:textfield >
< s:password name ="password" label ="密码" ></ s:password >
< s:submit value ="login" ></ s:submit >
</ s:form >
</ body >
</ html >
welcome.jsp
<%
@ page language="java" contentType="text/html; charset=gb2312"
pageEncoding="gb2312" %>
<% @ page isELIgnored="false" %>
<% @ taglib prefix="s" uri="/struts-tags" %>
<% @ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
< html >
< head >
< title ></ title >
</ head >
< body >
欢迎${sessionScope.user}登陆
< c:out value ="${requestScope.now}" ></ c:out >
< br >
< table border ="1" >
< s:iterator value ="books" status ="index" >
< s:if test ="#index.odd==true" >
< tr style ="background-color=#cccccc" >
</ s:if >
< s:else >
< tr >
</ s:else >
< td > 书名: </ td >
< td >< s:property /></ td >
</ tr >
</ s:iterator >
</ table >
</ body >
</ html >
pageEncoding="gb2312" %>
<% @ page isELIgnored="false" %>
<% @ taglib prefix="s" uri="/struts-tags" %>
<% @ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
< html >
< head >
< title ></ title >
</ head >
< body >
欢迎${sessionScope.user}登陆
< c:out value ="${requestScope.now}" ></ c:out >
< br >
< table border ="1" >
< s:iterator value ="books" status ="index" >
< s:if test ="#index.odd==true" >
< tr style ="background-color=#cccccc" >
</ s:if >
< s:else >
< tr >
</ s:else >
< td > 书名: </ td >
< td >< s:property /></ td >
</ tr >
</ s:iterator >
</ table >
</ body >
</ html >