struts2(一)---编写第一个struts2项目

2020-09-27 15:27:45 浏览数 (1)

转载请注明:http://blog.csdn.net/uniquewonderq

1.在myeclipse中创建一个webProject名为Struts

2.导入Struts核心包。将核心包复制到/WEB-INF/lib下即可。

3.配置前端控制器

struts2使用filter来充当前端控制器,因此在web.xml中配置一个filter即可。

struts2预制了该filter的实现类,名为:

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

指定该filter处理所有请求

代码语言:javascript复制
  <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>

4.创建struts.xml

在src下,创建名为struts.xml的配置文件。

---Struts2配置文件默认要放在src下

---Struts2配置文件默认名称为struts.xml

配置struts.xml的版本信息以及DTD引用

代码语言:javascript复制
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
    "http://struts.apache.org/dtds/struts-2.1.7.dtd">

5.编写业务控制层Action

a.创建控制器组件,通常命名为xxxAction,该组件是一个满足javabean规范的类。

b.在Action中定义业务方法,要满足下列条件:

---方法是public的

---返回值为string类型的

---参数列表为空

c.编写业务方法

---方法内编写业务逻辑代码

---返回的字符串与struts.xml->action->result属性匹配,即根据此返回值找到对应的result。

创建名为action的包,并在该包下创建类HelloAction。

代码语言:javascript复制
package Action;

public class HelloAction {
		public String sayHello(){
			System.out.println("Hello,Action");
			return "success";
		}
}

6.编写jsp页面

创建jsp页面

在页面上显示“hello,struts2”

代码语言:javascript复制
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  </head>
  
  <body>
    <h1>hello,Struts2!</h1>
  </body>
</html>

7.配置struts.xml

代码语言:javascript复制
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
    "http://struts.apache.org/dtds/struts-2.1.7.dtd">
    <struts>
    <!-- 
    package:包,用于对action进行封装
    
     -->
     <package name="day01" namespace="/demo" extends="struts-default">
     <action name="hello" class="action.HelloAction" method="sayHello">
     <result name="success">
     /hello.jsp
         </result>
        </action>
       </package>
     </struts>

8.测试:

部署项目,并启动tomcat,在浏览器中输入:http://localhost:8888/Struts2/demo/hello.action

其中demo对应的是,配置文件中namespace的值,hello对应的是配置文件中的action的名称,“.action”是固定的后缀,可以省略。

运行结果:

控制台输出结果:

Hello,Action

0 人点赞