Struts2(三):新建Struts2工程

  • 下载的struts2xx-all.zip包对搭建项目的作用

一般情况下,我们下载一个Struts2的full包时,并不知道新建过程中需要哪些包,那么这时我们可以从下载的包中解压出的目录\apps\struts2-blank.war文件找解决方案。

我从http://struts.apache.org/下载的是struts-2.3.28-all.zip包,解压到本地后目录结构如下:

apps目录下包含文件及作用:

struts2-blank.war 它可以告诉你如何搭建一个最最简单的Struts2的项目;它还会告诉你,Struts2至少需要依赖哪些jar包(请以后不要再为jar包错误而苦恼);同时,也给你做出了一些范例,web.xml怎么写,struts.xml又怎么写。

struts2-mailreader.war 给出了注册流程、以及发邮件功能

struts2-portlet.war 则给出了在Portal环境下的Struts2的应用。

struts2-rest-showcase.war 讲述了Restful的用法示例。

struts2-showcase.war 这个项目,你则可以看到Struts2的特性的大杂烩,这对于你看reference是相当有帮助的。比如说,你在看文档时看到了"文件上传"的章节,那么你就可以参考项目中的upload子目录。

怎么使用:

1.可以把这些文件拷贝到tomcat的webapps下,之后访问:http://localhost:8080/struts2-blank,之后去webapps下可以查看具体的发布文件夹;

2.也可以当做压缩包来解压出具体的发布文件夹。

  • 以下将会介绍怎么新建一个struts2的工程:

1、使用eclipse创建一个Dynamic web project.

 

2、添加struts2需要的jar包。

将struts2-blank.war解压后\struts2-blank\WEB-INF\lib下jar包,拷贝到工程\WebContent\WEB-INF\lib文件夹下。

 

3、修改web.xml

将struts2-blank.war解压后\WEB-INF\web.xml拷贝到新建工程MyStruts001的\WebContent\WEB-INF\web.xml中,并修改为:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
 3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4          xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
 5 
 6     <display-name>Struts Blank</display-name>
 7 
 8     <filter>
 9         <filter-name>struts2</filter-name>
10         <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
11     </filter>
12 
13     <filter-mapping>
14         <filter-name>struts2</filter-name>
15         <url-pattern>/*</url-pattern>
16     </filter-mapping>
17 
18     <welcome-file-list>
19         <welcome-file>index.html</welcome-file>
20     </welcome-file-list>
21 
22     <!-- Restricts access to pure JSP files - access available only via Struts action -->
23     <!--<security-constraint>
24         <display-name>No direct JSP access</display-name>
25         <web-resource-collection>
26             <web-resource-name>No-JSP</web-resource-name>
27             <url-pattern>*.jsp</url-pattern>
28         </web-resource-collection>
29         <auth-constraint>
30             <role-name>no-users</role-name>
31         </auth-constraint>
32     </security-constraint>
33 
34     <security-role>
35         <description>Don't assign users to this role</description>
36         <role-name>no-users</role-name>
37     </security-role>
38     -->
39 </web-app>

3、新建struts.xml相关文件到Src下。

把struts-blank\WEB-INF\src\java\下的struts.xml,log4j2.xml,velocity.properties拷贝到MyStruts001的\src下。

4、新建一个struts2的Action类。

5、修改struts.xml文件如下:

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE struts PUBLIC
 3     "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
 4     "http://struts.apache.org/dtds/struts-2.3.dtd">
 5 
 6 <struts>
 7      <constant name="struts.action.extension" value="action" />
 8     <constant name="struts.enable.DynamicMethodInvocation" value="false" />
 9     <constant name="struts.devMode" value="false" />
10 
11     <package name="default"  namespace="/MyStruts001" extends="struts-default">
12         <default-action-ref name="index" />
13         <global-results>
14             <result name="error">/WEB-INF/pages/error.jsp</result>
15         </global-results>
16         <global-exception-mappings>
17             <exception-mapping exception="java.lang.Exception"
18                 result="error" />
19         </global-exception-mappings>
20         <action name="project-info">
21             <result>/WEB-INF/pages/input.jsp</result>
22         </action>        
23         <action name="product-save" class="com.dx.struts001.actions.ProjectAction">
24             <result name="detail">/WEB-INF/pages/result.jsp</result>
25         </action>
26     </package>
27 </struts>

6、新建相关view页面。

default.html

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 2 <html>
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 5 <title>Insert title here</title>
 6 </head>
 7 <body>
 8     <a href="project-info.action"> hellword.action </a>
 9 </body>
10 </html>

WEB-INF/pages/input.jsp

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 7 <title>Insert title here</title>
 8 </head>
 9 <body>
10     <form action="product-save.action" method="POST">
11         <label>name:</label>
12         <input type="text" name="name" />
13         <br /> 
14         <input type="submit" name="submit" />
15     </form>
16 </body>
17 </html>

WEB-INF/pages/result.jsp

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 7 <title>Insert title here</title>
 8 </head>
 9 <body>
10 
11 </body>
12 </html>

7、运行项目,之后访问地址:http://localhost:8080/MyStruts001/

界面为:

点击"helloword.action",界面为:

输入信息,点击“提交”按钮.

到此结束。

 

posted @ 2016-06-07 00:04  cctext  阅读(1252)  评论(0编辑  收藏  举报