Struts2入门示例
1、导入struts2需要的9个包到lib文件夹中

2、配置web.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <filter>
<filter-name>struts</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter> <filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> <welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
如上面所示:配置了StrutsPrepareAndExecuteFilter,StrutsPrepareAndExecuteFilter就会自动加载struts2框架。配置好了filter后,还需要配置filter拦截的URL。一般让拦截用户所有请求。配置filter还可以是org.apache.struts2.dispatcher.FilterDispatcher,但是该filter已近过时了,所有还是用StrutsPrepareAndExecuteFilter
3、Action控制器
在src/action文件夹下面创建一个ShowWords类
package action;
public class ShowWords {
private String name;
private String words;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getWords() {
return words;
}
public void setWords(String words) {
this.words = words;
}
public String execute(){
if(name.equals("")){
return "input";
}else{
words="欢迎您:"+name;
return "success";
}
}
}
如上ShowWords类,添加了name和words属性,并在action中执行默认方法execute,判断如果字符串为空,则返回逻辑视图input,否则返回success逻辑视图
4、配置struts.xml
在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>
<constant name="struts.i18n.encoding" value="UTF-8"></constant>
<constant name="struts.action.extension" value="action,do,"></constant>
<package extends="struts-default" name="default" namespace="/">
<action name="showWords" class="action.ShowWords">
<result>/Hello.jsp</result>
<result name="input">/index.jsp</result>
</action>
</package>
</struts>
其中dtd名称空间可以拷贝struts2-core-2.3.28.1.jar包下面struts-default.xml下面的DOCTYPE
constant:用于配置struts默认配置,例如struts.i18n.encoding,用于设置字符编码;struts.action.extension:用于设置url的扩展名,这里设置可以不需要扩展名,也可以用action或do作为扩展名
struts框架默认属性保存在struts2-core-2.3.28.1.jar/org.apache.struts2/default.properties中
extends="struts-default":表示该配置继承自srtuts-default,而struts-default配置在struts-default.xml文件中
<action name="showWords" class="action.ShowWords">
name:url访问路径 class:action类
在action标签中还有一个method属性,该属性用来指定需要执行action类中的什么方法,如果不指定,默认方法execute方法
<result>/Hello.jsp</result>
<result name="input">/index.jsp</result>
根据action类返回结果,来控制视图
name属性即为action的返回值,如果不设置name默认为success,而result中文本表示需要执行的视图jsp的地址
Struts2入门示例的更多相关文章
- Struts2入门示例(Myeclipse)
1.新建Web项目在lib导入struts-2.3.37核心基础jar包 2.在WebRoot新建2个JSP demo1.jsp <%@ page language="java&quo ...
- [转] Struts2入门示例教程
原文地址:http://blog.csdn.net/wwwgeyang777/article/details/19078545/ 回顾Struts2的使用过程,网上搜的教程多多少少都会有点问题,重新记 ...
- struts2入门示例(hello world)
1. 环境搭建 按照之前的文章配置好myeclipse的jdk和tomcat,并新建一个web项目后,可开始动手配置与struts2相关的地方了.首先去struts的官网下载好最新的struts2代码 ...
- 【java开发系列】—— spring简单入门示例
1 JDK安装 2 Struts2简单入门示例 前言 作为入门级的记录帖,没有过多的技术含量,简单的搭建配置框架而已.这次讲到spring,这个应该是SSH中的重量级框架,它主要包含两个内容:控制反转 ...
- struts2入门程序
struts2入门程序 1.示例 搭建编程环境就先不说了,这里假设已经搭建好了编程环境,并且下好了strut2的jar包,接下来程序. 1.1 新建web项目 点击File->New->D ...
- [WCF编程]1.WCF入门示例
一.WCF是什么? Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,整合了原有的windows通讯的 .net Remotin ...
- Struts2 入门
一.Struts2入门案例 ①引入jar包 ②在src下创建struts.xml配置文件 <?xml version="1.0" encoding="UTF-8&q ...
- Maven入门示例(3):自动部署至外部Tomcat
Maven入门示例(3):自动部署至外部Tomcat 博客分类: maven 2012原创 Maven入门示例(3):自动部署至外部Tomcat 上一篇,介绍了如何创建Maven项目以及如何在内 ...
- 1.【转】spring MVC入门示例(hello world demo)
1. Spring MVC介绍 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于 ...
随机推荐
- [LOJ2553]暴力写挂
锟题x2 以下用$a\rightarrow b$表示端点为$a,b$的链 把式子写成$(h_1(x)+h_1(y)-h_1(lca))-h_2(lca')$,第一部分就是$x\rightarrow r ...
- 【找规律】【DFS】XVII Open Cup named after E.V. Pankratiev Stage 14, Grand Prix of Tatarstan, Sunday, April 2, 2017 Problem A. Arithmetic Derivative
假设一个数有n个质因子a1,a2,..,an,那么n'=Σ(a1*a2*...*an)/ai. 打个表出来,发现一个数x,如果x'=Kx,那么x一定由K个“基础因子”组成. 这些基础因子是2^2,3^ ...
- 网络编程之tcp五层模型
网络编程 1.客户端与服务端架构:C/S B/S 架构 client <-------基于网络通信-------->server brower<-------基于网络通信--- ...
- Ubuntu 16.04安装RedisDesktopManager
说明:0.9版本的安装补上,只能安装0.8版本的. 官网: https://github.com/uglide/RedisDesktopManager 下载: https://github.com/u ...
- udev详解
转:http://www.360doc.com/content/10/0215/11/551936_15865336.shtml 如果你使用Linux比较长时间了,那你就知道,在对待设备文件这块,Li ...
- 常用 U-boot命令详解
转:http://www.360doc.com/content/10/0827/13/496343_49168699.shtml 获取帮助环境变量与相关指令U-boot的使用网络命令Nand Flas ...
- sql 改动表以及表字段
用SQL语句加入删除改动字段 1.添加字段 alter table docdsp add dspcode char(200) alter table tbl add meet ...
- unity3d由多个部分组成一个角色
摘自http://forum.unity3d.com/threads/16485-quot-stitch-multiple-body-parts-into-one-character-quot So ...
- TCP-滑动窗口概念
参考博客: http://blog.chinaunix.net/uid-26275986-id-4109679.html
- Android MIFARE NFCA源码解析
Android MIFARE NFCA源码解析TagTechnology定义了所有标签的共有接口类BasicTagTechnology 实现了TagTechnology的一些接口 再有具体的标签协议继 ...