Struts2之初识篇(一)——与struts的区别和基本配置
正在学习Struts2,该类博客作为笔记整理之用,错误的地方望指正,后期还会不断修改完善.
Struts2资源:
Struts官方地址:http://struts.apache.org/
我这里下载了struts2的最新版本struts2-2.5.10.1-all。所有内容如下图:
其中,apps目录为struts2实例应用程序
docs目录为struts2指南、向导以及API文档
lib目录为struts2的发行包以及其依赖包,编程所有需的jar包都在这个目录里可以找到
src目录为struts2项目源代码
我们可以根据自己的需要下载
关于struts和struts2的区别,可以在docs目录下的docs文件中,找到home网页点开,进入Guides指南,可以查找到各种配置文件示例,在web.xml中可以看到不同版本的web.xml的配置区别
在xml配置方面的区别:Struts2版本配置没有ng
使用Struts2开发程序的基本步骤:
1、加载Struts2类库
2、配置web.xml
3、开发视图层页面
4、开发控制层Action类
5、配置Struts2的配置文件(struts.xml)
6、部署、运行项目
一个简单的Struts2程序开发完整操作:
1、第一步:导包,其中最后一个包资源里没有,要自己单独下载。推荐一个下载包的资源库:http://mvnrepository.com/
2、第二步:web.xml配置
1 <filter> 2 <filter-name>struts2</filter-name> 3 <filter-class> 4 org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter 5 </filter-class> 6 </filter> 7 <filter-mapping> 8 <filter-name>struts2</filter-name> 9 <!--匹配所有 --> 10 <url-pattern>/*</url-pattern> 11 </filter-mapping>
3、第三步:开发视图层页面
写个简单的小例子,用form表单提交信息,再在该页面显示出来
<body> <h1> <!--显示action中返回的message信息 --> ${message } </h1> <hr> <form action="helloWorld.action"> 请输入您的姓名: <input type="text" name="name"/> <input type="submit" value="提交"/> </form> </body>
4、第四步:写一个控制层action类,注意类中必须要有无参构造,要为请求参数提供field,并且要为之提供setter、getter
package com.jredu.action; /** * 返回数据给前台视图 * @author dell * */ public class HelloAction { private String name; private String message; /** * 当struts action处理请求时,在默认情况下,调用execute方法 * @return */ public String execute(){ //把前台传入的名字返回给拼接成完整的信息再返回给前台 setMessage("你好,"+getName()+"!"); //业务处理完毕后,返回视图hello return "hello"; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } }
5、第五步:配置Struts2的配置文件struts.xml
a.所有的action都要放在package标签里
b.action里最常见的属性:
name:请求路径
class:映射的处理类
method:指定一个处理方法,默认处理方法为execute
c.需要为处理方法返回的字符串指定相应的物理视图
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <!-- 创建一个default包,继承自Struts2的struts-default包。 --> <!-- namespace为路径;/代表绝对路径,从根目录开始;没有/代表相对路径 --> <package name="default" namespace="/" extends="struts-default"> <!--配置一个HelloAction --> <action name="helloWorld" class="com.jredu.action.HelloAction"> <result name="hello">index.jsp</result> </action> </package> </struts>
6,、第六步:部署项目,运行