Struts2 初体验
Sturts是一款优雅的,可扩展性很强的框架。它是由Struts开发团队和WebWord团队合作,共同开发的一个新的产品。新版本的Struts2 更加容易使用,更加接近Struts所追求的理念。从开发,部署么维护中效率的提高,无疑会让其能够继续谱写Struts1的辉煌,面对如些大的诱惑,让我们一起走入Struts2的世界吧!
下面的小例子演示了Struts2的简单配置:
一、Struts2资源下载。
下载解压后能看到如下图的内容:

apps:官方提供的Struts2应用示例
docs:Struts2 文档
lib:Struts2 发行包及依赖包
src:Struts2 源代码
其余部分是Struts2 及其依赖包的使用许可协议和声明
二、添加Struts2至项目
新建java wed项目。选择Struts2 资源中lib下 struts2-core-2.3.15.1.jar,xwork-core-2.3.15.1.jar,ognl-3.0.6.jar,freemarker-2.3.19.jar,commons-fileupload-1.3.jar五个jar文件,添加到项目。把jar包复制到项目下webContent\web-inf\lib文件夹中即可。
注意:不同版本的struts2所需要添加的包也有所不同,这里建议把Struts2 资源中apps目录下的struts2-blank.war项目解压。打开解压后的文件夹。把\web-inf\lib下的所有jar包添加至项目。如下图:

三、创建测试用的JSP页面hellostruts2.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>测试Struts2</title>
</head>
<body>
${message }
<!--注意:表单提交的路径以.action结尾-->
<form action="hello.action">
<input type="text" name="name" />
<input type="submit" value="提交" />
</form>
</body>
</html>
四、创建HelloAction类,用于对用户的请求做出处理。
public class HelloAction {
/*
* 对象的属性名要和页面传过来的参数名一致,并提供相应的get,set方法。
* Struts2会把页面传来的参数值赋值给名字相同的属性。
* 并默认把属性存在Request范围里。
*/
private String name;
private String message;
/*
* 方法需要返回字符串类型。配置完成后Struts2会把页面转到和该字符串对应的页面上。
*/
public String hello(){
//为message赋值,message同样也会被传到request范围里
message="hello"+name;
return "hellostruts2";
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
五、修改项目的web.xml配置文件。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>HelloStruts</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list> <!--添加如下过滤器配置,将全部请求定位到Strust2 过滤器中。-->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter> <filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> </web-app>
六、在src目录下创建struts.xml文件。内容如下
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <!--添加 package 标签,name=default,extends=struts-default-->
<package name="default" namespace="/" extends="struts-default"> <!--添加 action 标签,name为表单提交的路径,后面不要加.action。-->
<!--class表示要跳到哪个类里执行-->
<!--method表示要执行类里哪个方法,默认执行execute方法-->
<action name="hello" class="HelloAction" method="hello">
<!--结果为hellostruts2 时,跳转至hellostruts2.jsp页面-->
<result name="hellostruts2">hellostruts2.jsp</result>
</action> </package> </struts>
最后一步:编译部署并启动服务器,访问hellostruts2.jsp

提交表单后:

Struts2 初体验的更多相关文章
- struts2初体验
一:什么是struts2? Struts 2是一个MVC框架,以WebWork框架的设计思想为核心,吸收了Struts 1的部分优点 Struts 2拥有更加广阔的前景,自身功能强大,还对其他框架下开 ...
- Spring之初体验
Spring之初体验 Spring是一个轻量级的Java Web开发框架,以IoC(Inverse of Control 控制反转)和 ...
- .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
不知不觉,“.NET平台开源项目速览“系列文章已经15篇了,每一篇都非常受欢迎,可能技术水平不高,但足够入门了.虽然工作很忙,但还是会抽空把自己知道的,已经平时遇到的好的开源项目分享出来.今天就给大家 ...
- Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验
Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...
- Xamarin.iOS开发初体验
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKwAAAA+CAIAAAA5/WfHAAAJrklEQVR4nO2c/VdTRxrH+wfdU84pW0
- 【腾讯Bugly干货分享】基于 Webpack & Vue & Vue-Router 的 SPA 初体验
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57d13a57132ff21c38110186 导语 最近这几年的前端圈子,由于 ...
- 【Knockout.js 学习体验之旅】(1)ko初体验
前言 什么,你现在还在看knockout.js?这货都已经落后主流一千年了!赶紧去学Angular.React啊,再不赶紧的话,他们也要变out了哦.身旁的90后小伙伴,嘴里还塞着山东的狗不理大蒜包, ...
- 在同一个硬盘上安装多个 Linux 发行版及 Fedora 21 、Fedora 22 初体验
在同一个硬盘上安装多个 Linux 发行版 以前对多个 Linux 发行版的折腾主要是在虚拟机上完成.我的桌面电脑性能比较强大,玩玩虚拟机没啥问题,但是笔记本电脑就不行了.要在我的笔记本电脑上折腾多个 ...
- 百度EChart3初体验
由于项目需要在首页搞一个订单数量的走势图,经过多方查找,体验,感觉ECharts不错,封装的很细,我们只需要看自己需要那种类型的图表,搞定好自己的json数据就OK.至于说如何体现出来,官网的教程很详 ...
随机推荐
- vs2010中看不见类视图和资源视图的解决方法
vs2010工程中,因为删除了“vcxproj.filter”文件,所以导致资源视图看不见了. 解决方法是:先关掉工程,将工程对应的扩展名为.suo和.sdf删除,重新打开解决方案,问题解决.
- Play Apple(博弈)
Problem 1604 - Play Apple Time Limit: 1000MS Memory Limit: 65536KB Total Submit: 434 Accepted: ...
- C++求二叉树的最大高度差
#include <iostream> #include <string.h> using namespace std; template<typename Type&g ...
- SEO,你敢说你会吗?
SEO从何開始学起?SEO基础知识我们须要掌握哪些?SEO是什么?SEO究竟要怎么做?这些问题无时无刻不在困惑着我们.就我个人一些小观点来谈谈一个站点优化的大致步骤. SEO初期阶段 空间域名:空间跟 ...
- autolisp 列表 resbuf
有以下 list : (1 2 3 (4 5 6) "Properties" (("id" . 3) ("name" . "hel ...
- 实用CSS3属性之 :target伪类实现Tab切换效果
CSS3 :target伪类用来改变页面中锚链接URL所指向的ID样式,例如你要改变描链接指向#tab的元素字体颜色为蓝色,哪么你可以这样写成#tab:target {color:blue} 浏览器支 ...
- win7充分利用cpu来提供计算机性能
在任务栏左下角点击开始菜单,在运行框内输入msconfig,在弹出的窗口点击“高级选项”,接着会弹出一个新窗口,我们勾选“处理器数”,在下拉菜单中按照自己的电脑配置进行选择,现在双核比较常见,当然也有 ...
- HTML 基础 2
1. 认识CSS样式: CSS:层叠样式表(Cascading Style Sheets),主要用于定义HTML内容在浏览器内的显示样式 语法: 选择符{ 属性: 值} 举例: p{ color: b ...
- SQL server 数据库基本知识
SQL server 数据库基本知识 一.数据库: 分为层次型.网状型.关系型.现在通常都是使用关系型 常用的有:SQLserver.Oracle.DB2.Access.Visual Foxpro.M ...
- C# 1作业 2广场砖面积 护栏长度
作业1输入圆柱体的底面半径和高求体积 static void Main(string[] args) { //输入圆柱体的底面半径, ...