1,在 HeadFirstStruts2chapter02 中,新建包com.cruise.model包,新建bean:User,属性分别为:userName,password,
package com.cruise.model;
public class User {
private String userName;
private String password;
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;
}
}
2,新建UserAction,继承ActionSuppot,
package com.cruise.action;
import com.opensymphony.xwork2.ActionSupport;
public class UserAction extends ActionSupport{
@Override
public String execute() throws Exception {
System.out.println("执行了UserAction方法");
return SUCCESS;
}
}
3,新建login.jsp 登陆页面,
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
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=UTF-8">
<title>Insert title heretitle>
head>
<body>
<form action="user" method="post">
userName:<input type="text" name="userName"/><br>
password:<input type="text" name="password"/><br>
<input type="submit" value="提交">
form>
body>
html>
4,UserAction类,添加两个属性,userName 和password,set() get()方法。
package com.cruise.action;
import com.opensymphony.xwork2.ActionSupport;
public class UserAction extends ActionSupport{
private String userName;
private String pasword;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPasword() {
return pasword;
}
public void setPasword(String pasword) {
this.pasword = pasword;
}
@Override
public String execute() throws Exception {
System.out.println("执行了UserAction方法");
return SUCCESS;
}
}
5,新建包com.cruise.service ,建UserService类,login()方法,返回值为Boolean类型,这里主要模拟一下验证过程。
package com.cruise.service;
import com.cruise.model.User;
public class UserService {
public Boolean login(User user){
if("Ashley".equals(user.getUserName()) && "123456".equals(user.getPassword())){
return true;
}else{
return false;
}
}
}
6,UserAction,写逻辑代码。
package com.cruise.action;
import com.cruise.model.User;
import com.cruise.service.UserService;
import com.opensymphony.xwork2.ActionSupport;
public class UserAction extends ActionSupport{
private String userName;
private String password;
private UserService userService = new UserService();
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;
}
@Override
public String execute() throws Exception {
System.out.println("执行了UserAction方法");
User user = new User();
user.setUserName(userName);
user.setPassword(password);
Boolean login = userService.login(user);
if(login){
return SUCCESS;
}else{
return ERROR;
}
}
}
7,写success.jsp 页面,和error.jsp 失败页面。
success.jsp 页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
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=UTF-8">
<title>Insert title heretitle>
head>
<body>
登陆成功!!!
body>
html>
error.jsp 失败页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
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=UTF-8">
<title>Insert title heretitle>
head>
<body>
登陆失败!!!
body>
html>
8,修改struts.xml,
xml version="1.0" encoding="UTF-8" ?>
DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="suibiandingyi" extends="struts-default">
<action name="hello" class="com.cruise.action.HelloWorldAction">
<result name="success">helloworld.jspresult>
action>
<action name="hello2" class="com.cruise.action.HelloWorldAction2">
<result name="success">helloworld.jspresult>
action>
<action name="user" class="com.cruise.action.UserAction">
<result name="success">success.jspresult>
<result name="error">error.jspresult>
action>
package>
struts>
9,测试