先贴了本帖地址,以免被爬  http://www.cnblogs.com/linghaoxinpian/p/6898779.html

本教程将会通过安装struts2框架来创建一个简单的应用程序。
虽然Struts 2框架简单易用,但在开始之前,必须有一定的J2EE技术的储备,包括:

  • Java
  • Filters, JSP, and Tag Libraries
  • JavaBeans
  • HTML and HTTP
  • Web Containers (such as Tomcat)
  • XML

Java Requirements

Struts 2 需要Servlet API 2.4 或是更高的版本, JSP 2.0 或是更高的版本,  Java 7 或是更高的版本。

我们的第一个struts2项目

你可以在我的百度网盘上下载样例项目 https://pan.baidu.com/s/1pL7DgwF

Step 1 - 创建一个Java Web Application

这里我用的是Myeclipse,而不是Maven。取名为struts-basic

Step 2 -添加 index.jsp

在WebRoot/index.jsp下

 <!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<html>
<head>
<meta charset="UTF-8">
<title>Basic Struts 2 Application - Welcome</title>
</head>
<body>
<h1>Welcome To Struts 2!</h1>
</body>
</html>

接着运行,应该是这个样子:

到这了应该没什么难度吧

Step 3 -添加 Struts 2 的jar文件到项目中

在struts2的官网里下载jar包,

Step 5 - 添加 struts2 的过滤器

为了确保struts2能在你的web应用中运行,需要在web.xml中添加过滤器设置来启用struts2,如下:

  web.xml Servlet Filter

<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter> <filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

注意上面的   <url-pattern>/*</url-pattern> 意味着struts2的过滤器将会被应用到这个web 应用的所有URL上。

新版的myeclipse默认是没有web.xml的,自己手动新建一个就行了,修改后的web.xml应该是这个样子:

Step 6 - 创建 struts.xml

struts2 可以使用其它的XML配置文件或者是annotation(注解)来指定URL(/index.action)与处理类(Index类)、视图文件(index.jsp)之间 关联,对于我们这个基础项目,我将只使用最简单的配置方法,注意struts.xml文件必须放在src的根目录下(struts_basic/src/struts.xml),因为发布后src下的文件会被IDE转移到项目的class path的根目录下,这是struts2的规范。

struts.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd"> <struts> <constant name="struts.devMode" value="true" /> <package name="struts_basic" extends="struts-default">
<action name="index">
<result>/index.jsp</result>
</action>
</package> </struts>

这个最简便的配置文件告诉struts2框架,如果访问的URL是http://localhost:8081/struts_basic/index.action   或是http://localhost:8081/struts_basic/index   则转发到index.jsp视图

Step 7 - 运行程序

struts2官方 中文教程 系列一:创建一个struts2 web Application的更多相关文章

  1. struts2官方 中文教程 系列三:使用struts2 标签 tag

    避免被爬,先贴上本帖地址:struts2 官方系列教程一:使用struts2 标签 tag http://www.cnblogs.com/linghaoxinpian/p/6901316.html 本 ...

  2. struts2官方 中文教程 系列十四:主题Theme

    介绍 当您使用一个Struts 2标签时,例如 <s:select ..../>  在您的web页面中,Struts 2框架会生成HTML,它会显示外观并控制select控件的布局.样式和 ...

  3. struts2官方 中文教程 系列十二:控制标签

    介绍 struts2有一些控制语句的标签,本教程中我们将讨论如何使用 if 和iterator 标签.更多的控制标签可以参见 tags reference. 到此我们新建一个struts2 web 项 ...

  4. struts2官方 中文教程 系列十:Form标签

    介绍 在本教程中,我们将探索其他Struts 2表单控件.在前面的教程中,我们介绍了如何使用Struts 2表单(处理表单.表单验证和消息资源文件),我们介绍了如何使用Struts 2 head, f ...

  5. struts2官方 中文教程 系列九:Debugging Struts

    介绍 在Struts 2 web应用程序的开发过程中,您可能希望查看由Struts 2框架管理的信息.本教程将介绍两种工具,您可以使用它们来查看.一个工具是Struts 2的配置插件,另一个是调试拦截 ...

  6. struts2官方 中文教程 系列七:消息资源文件

    介绍 在本教程中,我们将探索使用Struts 2消息资源功能(也称为 resource bundles 资源绑定).消息资源提供了一种简单的方法,可以将文本放在一个视图页面中,通过应用程序,创建表单字 ...

  7. struts2官方 中文教程 系列十三:利用通配符选择方法

    介绍 在本教程中,我们将介绍如何在struts.xml中配置action节点以达到仅使用一个action节点将几个不同的url关联到特定action类的特定方法.这样做的目的是减少struts.xml ...

  8. struts2官方 中文教程 系列十一:使用XML进行表单验证

    在本教程中,我们将讨论如何使用Struts 2的XML验证方法来验证表单字段中用户的输入.在前面的教程中,我们讨论了在Action类中使用validate方法验证用户的输入.使用单独的XML验证文件让 ...

  9. struts2官方 中文教程 系列八:异常处理

    在本教程中,我们将探讨如何启用Struts 2框架处理web应用程序生成的任何未捕获的异常.Struts 2提供了健壮的异常处理,包括能够自动记录任何未捕获的异常,并将用户重定向到错误web页面. 贴 ...

随机推荐

  1. 分数CSD编码

    有符号数系统:有三重值(1, 0, -1) SD编码:12 = 16 - 4 = 10000_0000 - 100 = 1_0000_0(-1)00; = 16 - 9 + 5 = 1_0000_00 ...

  2. mysql数据增删查授权

    一 介绍 MySQL数据操作: DML ======================================================== 在MySQL管理软件中,可以通过SQL语句中的 ...

  3. oracle下载地址

    12c 下载地址 http://www.oracle.com/technetwork/cn/database/enterprise-edition/downloads/index.html

  4. 代码说明call和apply方法的区别 (咱们这方面讲解的少,这样的题有变式,需要举例讲解一下)

    这两个都是函数的方法,可以改变this的指向,fn.call(obj,param1,param2,…) call传入单个参数 fn.apply(obj,[param1,param2,...]) app ...

  5. angularJS笔记之Promise

    Promise是一种模式,以同步操作的流程形式来操作异步事件,避免了层层嵌套,可以链式操作异步事件. 我们知道,在编写javascript异步代码时,callback是最最简单的机制,可是用这种机制的 ...

  6. mysql中的自定义函数

    创建不带参数的自定义函数: 使用: 创建带参数的自定义函数: 使用: 创建具有复合结构的函数体的自定义函数:

  7. Unity3D自带Demo AngryBots路径

    [Unity3D自带Demo AngryBots路径] 1.Windows: C:\Users\Public\Documents\Unity Porjects 2.MacOSX: /Users/Sha ...

  8. Spring总结五:小结 使用spring访问servlet

    使用spring访问servlet 首先先建一个web项目,并在pom.xml中引入依赖包:spring-context和jsp servlet相关包,以及tomcat插件 其次建一个spring的配 ...

  9. ZOJ3953 Intervals

    题意 有n个区间,要求删除一些区间使得不存在三个相交的区间.找出删除的最少区间. 分析 是个比较显然的贪心吧. 先按照区间的左起点进行排序,然后从左往右扫,当有三个区间相交的时候,删除那个右端点最远的 ...

  10. 今天写shader流光效果,shader代码少了个括号,unity shader compiler卡死且不提示原因

    今天写shader流光效果,shader代码少了个括号,unity shader compiler卡死且不提示原因 好在找到了原因,shader 代码如下,原理是提高经过的颜色亮度 void surf ...