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",界面为:

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

    到此结束。

  • 相关阅读:
    二叉树
    消息
    线性表 及Java实现 顺序表、链表、栈、队列
    Memcache简介
    redis例子
    redis简介
    Android客户端采用Http 协议Post方式请求与服务端进行数据交互(转)
    jQueryValidate实现重复性验证
    mybatis中${}和#{}的区别
    List转换为数组Array的方法
  • 原文地址:https://www.cnblogs.com/yy3b2007com/p/5565613.html
Copyright © 2011-2022 走看看