Struts源码解析
一、先在官网 https://struts.apache.org/download.cgi#struts2520 下载最新版本的 Full Distribution,里面包括开发包、文档和源码等。 二、在 Eclipse 新建一个 Dynamic Web Project 项目 三、在步骤一下载的 struts-2.5.20-all 的lib里面找到核心jar包,然后将其引入项目的lib中
struts-2.5.20-all 核心jar包 四、配置 web.xml 在web.xml中设置过滤器,将用户所有请求拦截交给Struts2处理
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter //Struts2核心控制器
//filter-mapping即过滤器映射。过滤器可被映射到一个servlet或一个URL模式。将过滤器映射到一个servlet中会造成过滤器
//作用于servlet上。将过滤器映射到一个URL模式中则可以将过滤器应用于任何资源,只要该资源的URL与URL模式匹配。
五、配置struts2框架各个层 view层,即视图层 WebContent目录下login.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
controller层,控制器,导入service层,因为service中的方法是我们使用到的,controller通过接收前端传过来的参数进行业务操作,再返回响应结果。 hsx.com.action.UserAction.java
//属性驱动(FieldDriven)
package hsx.com.action;
import com.opensymphony.xwork2.ActionSupport;
import hsx.com.model.User;
import hsx.com.service.UserService;
public class UserAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private UserService userService = new UserService();
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;
}
public String execute() throws Exception {
System.out.println("执行了UserAction的默认方法");
User user = new User();
user.setUserName(userName);
user.setPassword(password);
if (userService.login(user)) {
return SUCCESS;
} else {
return ERROR;
}
}
}
service层,存放业务逻辑处理,也是一些关于数据库处理的操作。hsx.com.service.UserService.java
package hsx.com.service;
import hsx.com.model.User;
public class UserService {
public boolean login(User user){
if ("admin".equals(user.getUserName())&&"123456".equals(user.getPassword())) {
return true;
}else {
return false;
}
}
}
model层,存放实体类,与数据库中的属性值基本保持一致 。hsx.com.model.User.java
package hsx.com.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;
}
}
六、配置struts.xml 在项目的src下新建一个配置文件:struts.xml。struts.xml里的映射将URL,控制器和视图绑定在一起。映射告诉Struts 2框架哪个类将响应用户的操作(URL),该类的哪个方法将被执行,以及基于该方法返回的String结果呈现什么视图。
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
易客满/ECMS怎么样
淘宝站内信如何发?