开发者学堂课程【Java Web开发系列课程 - Struts2框架入门:Struts2入门】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/537/detail/7287
Struts2入门
一、如何搭建基础 struts2项目
搭建 struts2项目的步骤
1. 新建 web 项目
2. 导入所需 jar 包(在 struts2目录-apps-解压 blank 压缩包-web.inf-lib-全部 copy 即可)
3. 配置 struts2的核心控制器 web.xml 文件,其实是一个过滤器。
<filter>
<filter-name>struts2</filter
-
name>
<filterclass>org.apache.struts2.dispatcher
.
ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter
-
name>
<url-pattern>/*</url -pattern>
</filter mapping>
最好将 web.xml 里的 package presentation 设置为 flat 模式而非 Hierarchical 模式,如果找不到原来的空项目,可以从 struts2-core jar 包中找到后缀为 filter 的栏目,将其中最长的一项右键拷贝过来,去掉.class 即可。
4. 在 src 下添加 struts2的配置文件,struts.xml—文件名不能更改
xml 文件的头文件——拷贝一个 struts.xml 文件,或者到 core 包下的 struts-default.xml 文件中拷贝(除了文档定义和根标签其他都可以去掉)。
注:到这里 struts2的框架搭建就完成了。
5. 编写 action 类—HelloAction
public class HelloAction { |
public String execute(){ |
System.out.println("hello struts2"); |
return "success"; |
} |
} |
注:
在 servlet 中,默认执行 service 方法;在 struts2中,默认执行 execute 方法。
在 servlet 中,service 方法参数时 HttpServletRequest 和 HttpServletResponse,无返回值。在 struts2中,方法都是 public 的,并且返回值都是 String 类型,而且方法都是没有参数的。
6. 配置action类--在 struts.xml 文件中,配置 HelloAction,Struts2是基于包来管理的。
若没有书写提示的话,需要以下操作关联一下 dtd:
Location 在文件里搜索.dtd 找到,
也可通过 src-core-src-main-resources 找到。
<!--extends 必须写,直接或者间接继本 struts-default name自定义--> <package name="hello" extends="struts-default"> <!-- name是请求名称,不要写/;class对应action完全限定名=包名+类名--> <action name="hello" class="cn.sxt.action.HelloAction"> <!-result是结果集 name 和对应 action 中的方法的返回值匹配,默认是 success--> <result name="success">/index.jsp</result> </action> </package> |
7. 访问:http://localhost:8080/02struts2 hello/hello
结果: