struts2官方 中文教程 系列一:创建一个struts2 web Application
先贴了本帖地址,以免被爬 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的更多相关文章
- struts2官方 中文教程 系列三:使用struts2 标签 tag
避免被爬,先贴上本帖地址:struts2 官方系列教程一:使用struts2 标签 tag http://www.cnblogs.com/linghaoxinpian/p/6901316.html 本 ...
- struts2官方 中文教程 系列十四:主题Theme
介绍 当您使用一个Struts 2标签时,例如 <s:select ..../> 在您的web页面中,Struts 2框架会生成HTML,它会显示外观并控制select控件的布局.样式和 ...
- struts2官方 中文教程 系列十二:控制标签
介绍 struts2有一些控制语句的标签,本教程中我们将讨论如何使用 if 和iterator 标签.更多的控制标签可以参见 tags reference. 到此我们新建一个struts2 web 项 ...
- struts2官方 中文教程 系列十:Form标签
介绍 在本教程中,我们将探索其他Struts 2表单控件.在前面的教程中,我们介绍了如何使用Struts 2表单(处理表单.表单验证和消息资源文件),我们介绍了如何使用Struts 2 head, f ...
- struts2官方 中文教程 系列九:Debugging Struts
介绍 在Struts 2 web应用程序的开发过程中,您可能希望查看由Struts 2框架管理的信息.本教程将介绍两种工具,您可以使用它们来查看.一个工具是Struts 2的配置插件,另一个是调试拦截 ...
- struts2官方 中文教程 系列七:消息资源文件
介绍 在本教程中,我们将探索使用Struts 2消息资源功能(也称为 resource bundles 资源绑定).消息资源提供了一种简单的方法,可以将文本放在一个视图页面中,通过应用程序,创建表单字 ...
- struts2官方 中文教程 系列十三:利用通配符选择方法
介绍 在本教程中,我们将介绍如何在struts.xml中配置action节点以达到仅使用一个action节点将几个不同的url关联到特定action类的特定方法.这样做的目的是减少struts.xml ...
- struts2官方 中文教程 系列十一:使用XML进行表单验证
在本教程中,我们将讨论如何使用Struts 2的XML验证方法来验证表单字段中用户的输入.在前面的教程中,我们讨论了在Action类中使用validate方法验证用户的输入.使用单独的XML验证文件让 ...
- struts2官方 中文教程 系列八:异常处理
在本教程中,我们将探讨如何启用Struts 2框架处理web应用程序生成的任何未捕获的异常.Struts 2提供了健壮的异常处理,包括能够自动记录任何未捕获的异常,并将用户重定向到错误web页面. 贴 ...
随机推荐
- nodejs中的util.inspect.js
util.inspect(object,[showHidden],[depth],[colors])是一个将任意对象转换 为字符串的方法,通常用于调试和错误输出.它至少接受一个参数 object,即要 ...
- K12协同开发在做常见问题时候遇到的问题
一.在做常见问题的时候遇到的问题 在后端处理数据的时候是通过serialize来实现的,从数据库中查出自己想要的数据,直接返回数据. 在前端发送ajax请求获取数据并且在页面上以好看的形式渲染. 1. ...
- thread.Join(); 让主线程等待自己完成
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- leetcode606
/** * Definition for a binary tree node. * public class TreeNode { * public int val; * public TreeNo ...
- saltstack系列(一)——介绍与安装
saltstack简介 saltstack 是服务器基础架构集中化管理平台.具备配置管理.远程执行.监控等功能. saltstack 基于python. 注意: puppet是一种Linux.Unix ...
- c之指针退化和printf小陷阱
今天参加了个笔试和面试,面试官给我指出了我试卷上的错误,我才发现,我的知识疏漏之处原来有不少,很是感谢. 记得曾经有本书,专门写c的陷阱来着,里面有很多都牵扯到指针.嘿嘿,这小家伙古灵精怪,总是喜欢误 ...
- 【HDU4303】Hourai Jeweled
题意 有一棵n个结点的树,每个结点都有一个值,没一条边都有一个颜色.如果某条路径上,相邻的边颜色不同,那么把这路径上所有的点的值加起来. 输出所有符合条件的路径上值的和. n<=300000. ...
- PHP内核介绍及扩展开发指南—Extensions 的编写(下)
第一个参数是HashTable,在1.2.3节提到Zend使用HashTable来存储PHP函数,function_table用于指 定从哪个HashTable中获取函数.通常应该用CG(functi ...
- 在Build Path中包含其他工程
------------siwuxie095 在 TestBuildPath 的 Build Path 中包含 SupportProje ...
- opennebula 对接创建模板参数
{ "id": 8, "name": "c5d1390c-1930-45a5-a686-5cef38b319d7", "displ ...