Struts2学习笔记-基本结构

时间:2024-01-18 20:24:26

一个普通的的web应用文件结构如下:

Struts2学习笔记-基本结构

1. 最上层是应用名,区分大小写,在浏览器输入应用名的时候,必须与应用名的大小一样,例如:localhost:8080/HelloWorld

2. 在应用下,放有很多文件,其中WEB-INF文件夹为必须有的,其余的文件包括一些页面文件,或者样式文件,例如*.jsp,*.css文件等

3. WEB-INF里面放有2个文件夹,lib和classes,和一个文件,web.xml,lib是放一些类库文件,classes是放.class文件,web.xml文件内,编写一些配置内容

按照以上的文件结构编写后,会得出一个普通的web应用,如果想使用struts框架,只需要做一下的几个步骤

1. 把struts2框架的类库放到WEB-INF/lib下

2. 在web.xml文件中,添加struts2的核心过滤器Filter

3. 在WEB-INF/classes下添加struts.xml配置文件

下面看看具体实行

我们先来写一个Action类,action类相当于MVC的控制器control,当用户发出请求信息到服务器时,struts2的机制,拦截器filter就会根据配置访问相应的action,struts2与struts1的区别是后者比较紧耦合,action类都要继承Action这个类,就是说,依赖servlet api,这样的话,这个类除了能在servlet api使用,而不能在其它不带这个框架的地方使用这个类,在struts2的action类里面,不需要继承Action这个类

public class NewHelloWorld {

    private String userName;
private String userPassword; public String getUserName() {
return userName;
} public String getUserPassword() {
return userPassword;
} public void setUserName(String userName) {
this.userName = userName;
} public void setUserPassword(String userPassword) {
this.userPassword = userPassword;
} public String execute() throws Exception { if (userName.equals("peter") && userPassword.equals("123456")) {
return "success";
} else {
return "error";
}
}
}

现在有了Action类,但是用户请求的信息,struts2是无法知道它是如何处理的,必须配置这个类,与对应的请求地址对应,这样的映射配置在WEB-INF/classes/struts.xml里面