zoukankan      html  css  js  c++  java
  • Struts2(三):新建Struts2工程

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

    一般情况下,我们下载一个Struts2的full包时,并不知道新建过程中需要哪些包,那么这时我们可以从下载的包中解压出的目录appsstruts2-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-blankWEB-INFlib下jar包,拷贝到工程WebContentWEB-INFlib文件夹下。

    3、修改web.xml

    将struts2-blank.war解压后WEB-INFweb.xml拷贝到新建工程MyStruts001的WebContentWEB-INFweb.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-blankWEB-INFsrcjava下的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",界面为:

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

    到此结束。

  • 相关阅读:
    array_map()与array_shift()搭配使用 PK array_column()函数
    Educational Codeforces Round 8 D. Magic Numbers
    hdu 1171 Big Event in HDU
    hdu 2844 poj 1742 Coins
    hdu 3591 The trouble of Xiaoqian
    hdu 2079 选课时间
    hdu 2191 珍惜现在,感恩生活 多重背包入门题
    hdu 5429 Geometric Progression 高精度浮点数(java版本)
    【BZOJ】1002: [FJOI2007]轮状病毒 递推+高精度
    hdu::1002 A + B Problem II
  • 原文地址:https://www.cnblogs.com/yy3b2007com/p/5565613.html
Copyright © 2011-2022 走看看