文件目录
Action.java
package com.zxl.action;
import com.zxl.service.FinderService;
public class Action {
private String bestTutorialSite;
private String language;
public String execute(){
FinderService tutorialFinderService = new FinderService();
System.out.println(getLanguage());
setBestTutorialSite(tutorialFinderService.getBestTutorialSite(getLanguage()));
System.out.println("EXECUTE method called");
return "success";
}
public String addOtherMethod(){
System.out.println(" add some Other Method EXECUTE");
return "success";
}
public String getOtherMethod(){
System.out.println(" get some Other Method EXECUTE");
return "success";
}
public String getBestTutorialSite() {
return bestTutorialSite;
}
public void setBestTutorialSite(String bestTutorialSite) {
this.bestTutorialSite = bestTutorialSite;
}
public String getLanguage() {
return language;
}
public void setLanguage(String language) {
this.language = language;
}
}
LoginAction.java
package com.zxl.action;
import org.apache.commons.lang3.StringUtils;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.sun.org.apache.bcel.internal.generic.NEW;
import com.zxl.model.User;
import com.zxl.service.LoginService;
public class LoginAction extends ActionSupport implements ModelDriven<User> {
private User user=new User();
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public void validate(){
if(StringUtils.isEmpty(user.getUserId())){
addFieldError("userId", "user id cannot be blank");
}
if(StringUtils.isEmpty(user.getPassword())){
addFieldError("password", "password id cannot be blank");
}
}
public String execute(){
LoginService loginService =new LoginService();
if(loginService.verifyLogin(user)){
return SUCCESS;
}
return LOGIN;
}
@Override
public User getModel() {
// TODO Auto-generated method stub
return user;
}
}
User.java
package com.zxl.model;
public class User {
private String userId;
private String password;
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
FinderService.java
package com.zxl.service;
public class FinderService {
public String getBestTutorialSite(String lauguage){
if(lauguage.equals("java")){
return "java brains";
}else{
return "not java";
}
}
}
LoginService.java
package com.zxl.service;
import com.zxl.model.User;
public class LoginService {
public boolean verifyLogin(User user){
if(user.getUserId().equals("userId") && user.getPassword().equals("password")){
return true;
}
return false;
}
}
login.xml
<?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>
<include file="struts-default.xml"></include>
<constant name="struts.devMode" value="true"></constant>
<package name="loginPackage" namespace="/" extends="struts-default">
<action name="login" class="com.zxl.action.LoginAction" >
<result name="success">/searchForm.jsp</result>
<result name="login">/login.jsp</result>
<result name="input">/login.jsp</result>
</action>
</package>
</struts>
struts.xml
<?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>
<include file="login.xml" />
<package name="HelloPackage" namespace="/hello" extends="struts-default">
<action name="Hello" class="com.zxl.action.Action" >
<result name="success">/success.jsp</result>
<result name="failure">/error.jsp</result>
</action>
</package>
<package name="search" namespace="/" extends="struts-default">
<action name="search*">
<result>/search{1}.jsp</result>
</action>
</package>
</struts>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>StrutsDemo04</display-name>
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
error.jsp
<%@ 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">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
error occured
</body>
</html>
login.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<s:form action="login" >
<s:textfield label="Login ID" key="userId" />
<s:password label="Password" key="password" />
<s:submit />
</s:form>
</body>
</html>
serchForm.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Search form</title>
</head>
<body>
<s:form action="hello/Hello.action">
<s:textfield label="enter key" key="language" />
<s:submit />
</s:form>
<br />
<form method="post" action="hello/Hello.action">
<input id="language" name="language" />
<input type="submit" />
</form>
</body>
</html>
serchPage.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Search page</title>
</head>
<body>
<s:form action="hello/Hello.action">
<s:textfield label="enter key" key="language" />
<s:submit />
</s:form>
<br />
<form method="post" action="hello/Hello.action">
<input id="language" name="language" />
<input type="submit" />
</form>
</body>
</html>
success.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Success</title>
</head>
<body>
Business service executed !
<s:property value="bestTutorialSite" />
</body>
</html>