跟着尚学堂的马士兵老师初学Struts2,记录下过程,这一节是创建Struts的第一节课,创建。
- 创建工程 :在MyEclipse中,File->new->Project->Java Enterprise Project->web project,在命名窗口中,建议勾选java EE 5.0,确定之后会出现以下的提示,这是因为当前的workspace是6.0,高于5.0,,只要比5.0高就行了,点击yes。
- 配置Tomcat:
- 配置JDK
注:JDK与JRE的区别:JDK包含调试,而JRE不包含调试。
- Struts2软件
src:源码
lib:类库
docs:文档
apps:工程示例,里面有5个war文件,是最基本的示例程序,可以直接解压,拷贝以下内容到自己的工程中:
- 配置文件,拷到src目录而不是WEB-INF中,因为src目录编译完成之后默认放到了WEB-INF中
- 拷贝类库,WEB-INF\lib中看到9个jar文件,其中junit和Spring-test不需要,其他的拷贝放到新建的工程目录WEB-INF\lib下。(blank这个工程是最基础的,用到的jar包也是最基础的,所以保险起见都拷过去也无所谓。jar包这个东西本来就是用到的时候再添加,比如会发现common-io.jar暂时不加也没有关系,那是因为将来写到文件上传下载等操作会遇到,暂时先加上去)。此时在MyEclipse中看不到jar文件,因为当前视图为Package Explor。如果想要看到硬盘上真正的目录,可以在navigator视图(window->show view->navigator)中看到,刷新一下树形目录,添加的jar包会出现在Referenced Libraries目录中。
- 拷贝web.xml中关于filter的配置
<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>
注意filter-class中ng是next generator的缩写,是因为当前使用的是2.1版本,如果是2.0版本,则该项为
<pre name="code" class="html"> org.apache.struts2.dispatcher.FilterDispatcher
在url-pattern中写法最好永远写成"/*",猜测:如果写成“*.action”会映射所有的action,如果写成“/*",则只会映射根目录下的action。
- 修改struts.xml文件为:
<package name="default" namespace="/" extends="struts-default">
<action name="hello">
<result >hello.jsp </result>
</action>
</package>
- 部署到Tomcat上
或者在service窗口中找到tomcat,部署工程
- 访问