struts2入门学习
程序员文章站
2023-12-22 10:49:10
...
struts2是一个轻量级、基于请求的MVC框架(如果一个框架没有侵入性,就说该框架是轻量级的。侵入性----如果使用一个框架,必须实现框架提供的接口或者继承框架提供的类,则这个框架具有侵入性)。
struts2下载
struts官网,点击下载。我下载的是2.5.22
这个版本。
- 下载好后,可以在
struts-2.5.22\docs\docs\getting-started\index.html
中开始学习怎么搭建struts2环境。
struts2-helloworld
-
新建web项目
-
导入jar包,需要jar包可以到lib文件夹下找
-
编写web.xml文件,配置struts2的前端控制器
<!-- struts2的前端控制器
struts2框架开始工作的入口,接管请求
-->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
- 编写业务处理类
业务类方法的规则 |
---|
1、所有的业务方法都是public类型 |
2、所有的业务方法都没有参数 |
3、方法名可以自定义,默认为execute |
4、返回值都为String类型 |
public class HelloAction {
public String execute() {
System.out.println("hello struts2");
return "success";
}
}
- 在src下添加struts2的配置文件,名为
struts.xml
(不可以更改)
标签 | 属性 |
---|---|
<constant></constant> :常量配置 |
在org.apache.struts2 包下的default.properties 中配置一些默认属性,可以使用该标签修改,如:struts.action.extension=action,, 。①name :要配置的属性,等号前的内容。②value :要设置的值,等号后的内容,用“,”隔开。 |
<include></include> :引入其他配置文件,在团队开发中使用 |
file :写其他配置文件的路径,但是注意,该标签找的是文件系统,所以分级目录要使用“/”来写路径,而不是“.”,如:file="struts/configuration/system.xml" 。 |
<package></package> :分模块管理 |
①name :自定义,但在一个项目中唯一;②namespace :命名空间,和url请求路径直接相关,如:"/user",请求为"/user/xxx";③extends :继承,必须直接或者间接继承struts-default 。 |
<action></action> :配置url和处理类的方法进行映射 |
①name :请求名称,不加后缀;②class :处理类的完全限定名,如果不配置,由默认类ActionSupport 来处理;③method :处理请求的方法,默认为execute 。 |
<result></result> :结果集的配置 |
①name :结果集名称,和处理方法的返回值匹配,默认为success ,可以自定义,只有匹配时才返回页面; Struts默认提供了5个返回结果:success :成功跳转视图、none :成功不需要视图显示、error :失败显示失败页面、input :要执行该action需要更多的输入条件、login :需要登录后才能执行; ②值 :为跳转页面,如果没有写成绝对路径,即加“/”,则为相对路径,相对于namespace 。③type :指定响应结果类型,dispatcher 转发(默认),redirect 重定向,redirectAction 重定向到action。 |
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<!-- 扩展名配置 -->
<constant name="struts.action.extension" value="action,do,,"></constant>
<!-- 乱码解决 -->
<constant name="struts.i18n.encoding" value="UTF-8"></constant>
<!-- 开发模式 -->
<constant name="struts.devMode" value="true"></constant>
<package name="default" namespace="/" extends="struts-default">
<!-- 配置url和处理类的方法进行映射 -->
<action name="hello" class="com.x.action.HelloAction">
<result>/hello.jsp</result>
</action>
</package>
</struts>
- 编写hello.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>hello struts2</title>
</head>
<body>
<h2>hello struts2</h2>
</body>
</html>
- 发布项目并且测试
注意 |
---|
如果在发布tomcat启动时报错,则将项目和tomcat多clean 几次。 |