Struts2下载、安装及开发流程



一、Struts2下载

登录http://struts.apache.org/download.cgi 下载Struts2最新版

建议下载Full Distribution完整版,该选项包括Struts2的示例应用(apps文件夹)、空示例应用、核心库(lib文件夹)、源代码和文档(docs文件夹)等,src文件夹包含Struts2框架的全部源代码。

二、Struts2安装

将这几个必须类库复制到Web应用的WEB-INF/lib路径下。如果需要在Web应用中使用Struts2的更多特性,则需要将相应的JAR文件复制到Web应用的WEB-INF/lib路径下。

三、开发流程

1.在web.xml文件中定义核心Filter来拦截用户请求。

	<?xml version="1.0" encoding="GBK"?>
	<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">
		<!-- 定义Struts2的核心Filter -->
		<filter>
			<filter-name>struts2</filter-name>
			<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
		</filter>
		<!-- 让Struts2的核心Filter拦截所有请求 -->
		<filter-mapping>
			<filter-name>struts2</filter-name>
			<url-pattern>/*</url-pattern>
		</filter-mapping>
	</web-app>

2.如果需要以POST方式提交请求,则定义包含表单数据的JSP页面。如果仅仅只是以GET方式发送请求,则无须经过这一步。

3.定义处理用户请求的Action类。比如我们做一个登录demo需要一个LoginAction

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport
{
	//定义封装请求参数的username和password属性
	private String username;
	private String password;
	public String getUsername()
	{
		return username;
	}
	public void setUsername(String username)
	{
		this.username = username;
	}
	public String getPassword()
	{
		return password;
	}
	public void setPassword(String password)
	{
		this.password = password;
	}
	//定义处理用户请求的execute方法
	public String execute() throws Exception
	{
		//当username为crazyit.org,password为leegang时即登录成功
		if (getUsername().equals("struts")
			&& getPassword().equals("struts") )
		{
			ActionContext.getContext().getSession()
				.put("user" , getUsername());
		return SUCCESS;
		}
		else
		{
			return ERROR;
		}
	}
}

4.配置Action以及处理结果与物理视图资源之间的对应关系。

<struts>
	<!-- 指定全局国际化资源文件 -->
	<constant name="struts.custom.i18n.resources" value="mess"/>
	<!-- 指定国际化编码所使用的字符集 -->
	<constant name="struts.i18n.encoding" value="GBK"/>
	<!-- 所有的Action定义都应该放在package下 -->
	<package name="lee" extends="struts-default">
		<action name="login" class="org.crazyit.app.action.LoginAction">
			<!-- 定义三个逻辑视图和物理资源之间的映射 -->
			<result name="input">/login.jsp</result>
			<result name="error">/error.jsp</result>
			<result name="success">/welcome.jsp</result>
		</action>
	</package>
</struts>

5.编写视图资源

login.jsp

<%@ page language="java" contentType="text/html; charset=GBK"
	pageEncoding="GBK"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<!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=GBK">
<title><s:text name="loginPage"/></title>
</head>
<body>
<s:form action="login">
	<s:textfield name="username" key="user"/>
	<s:textfield name="password" key="pass"/>
	<s:submit key="login"/>
</s:form>
</body>
</html>

error.jsp

<%@ page language="java" contentType="text/html; charset=GBK"
	pageEncoding="GBK"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
	<title><s:text name="errorPage"/></title>
	<meta http-equiv="Content-Type" content="text/html; charset=GBK">
</head>
<body>
	<s:text name="failTip"/>
</body>
</html>

welcome.jsp

<%@ page language="java" contentType="text/html; charset=GBK"
	pageEncoding="GBK"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
	<title><s:text name="succPage"/></title>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
</head>
<body>
	<s:text name="succTip">
		<s:param>${sessionScope.user}</s:param>
	</s:text><br/>
</body>
</html>

6.编写国际化资源文件

使用native2ascii转换编码

loginPage=\u767b\u5f55\u9875\u9762

errorPage=\u9519\u8bef\u9875\u9762

succPage=\u6210\u529f\u9875\u9762

failTip=\u5bf9\u4e0d\u8d77\uff0c\u60a8\u4e0d\u80fd\u767b\u5f55\uff01

succTip=\u6b22\u8fce\uff0c{0},\u60a8\u5df2\u7ecf\u767b\u5f55\uff01

user=\u7528\u6237\u540d

pass=\u5bc6 
\u7801

login=\u767b\u5f55

loginPage=登录页面

errorPage=错误页面

succPage=成功页面

failTip=对不起,您不能登录!

succTip=欢迎,{0},您已经登录!

user=用户名

pass=密 

login=登录

四、运行结果



时间: 2024-10-21 04:28:07

Struts2下载、安装及开发流程的相关文章

PHP开发环境&amp;amp;MySQL下载安装及配置流程

PHP开发环境&MySQL下载安装及配置流程 因工作须要,从0開始学PHP,前几天看完视频教程后開始搞开发环境,到今天才好.这里把安装配置流程梳理一下分享出来. 一.概述 要搭建一个开发环境无非就是这么几步,下载->安装->配置.PHP的环境须要三样东西.php.mysql.apache(按序例如以下图),依照我的理解.它们各自是语言解释器.数据库.server. 二.下载 PHP100.com是个奇妙的站点,我从这上面找到了前两样东西的下载地址,apache的链似乎坏了.官网上也找不

PHP开发环境&amp;MySQL下载安装及配置流程

PHP开发环境&MySQL下载安装及配置流程 因工作需要,从0开始学PHP,前几天看完视频教程后开始搞开发环境,到今天才好.这里把安装配置流程梳理一下分享出来. 一.概述 要搭建一个开发环境无非就是这么几步,下载->安装->配置.PHP的环境需要三样东西,php.mysql.apache(按序如下图),按照我的理解,它们分别是语言解释器.数据库.服务器. 二.下载 PHP100.com是个神奇的网站,我从这上面找到了前两样东西的下载地址,apache的链似乎坏了,官网上也找不到下载位置

使用ISS建站使其能够用ipad浏览器下载安装x-code开发的程序

一:第一种方法 1:把ipa上传到一个https类型的网站比如:https://worktile.com 2:更改plist中urrl 1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.d

struts2 开发流程以及配置文件

Mybatis完成了对JDBC的封装,而Struts2完成了对jsp,servlet的封装.首先,三层架构 Struts2的原理图: 开发流程:  1.导入jar包. 2.建立名为“struts.xml”的配置文件  注:该文件必须放在src的目录下 表头: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE struts PUBLIC 3 "-//Apache Software Fo

IntelliJ IDEA 下载安装

IntelliJ IDEA 下载安装 IDEA开发工具是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手.代码自动提示.重构.J2EE支持.各类版本工具(git.svn.github等).JUnit.CVS整合.代码分析. 创新的GUI设计等方面的功能可以说是超常的. 先放出下载得网站:https://www.jetbrains.com/idea/download/#section=windows 下载完成双击.exe运行,点击next进行

01-01java概述 doc命令、jdk\jre下载安装、path、classpath配置、开发中常见小问题

1:计算机概述(了解) (1)计算机 (2)计算机硬件 (3)计算机软件 系统软件:window,linux,mac 应用软件:qq,yy,飞秋 (4)软件开发(理解) 软件:是由数据和指令组成的.(计算器) 开发:就是把软件做出来. 如何实现软件开发呢? 就是使用开发工具和计算机语言做出东西来 (5)语言 自然语言:人与人交流沟通的 计算机语言:人与计算机交流沟通的 C,C++,C#,Java (6)人机交换 图形界面:操作方便只管 DOS命令:需要记忆一些常见的命令 2:键盘功能键的认识和快

Xcode5.1离线下载安装及使用iOS5模拟器进行开发调试的方法

Xcode5.1默认不支持iOS5版本的模拟器开发调试,在OS X Mavericks(10.9.x)下默认只能支持iOS6.1及以上版本的模拟器,在OS X Mountain Lion(10.8.x)下默认只能支持iOS6.0及以上版本的模拟器进行开发和调试,在此条件之下的版本只能使用硬件设备进行开发调试.虽然现在低版本的iOS设备越来越少了,但是有时客户的需求可能会要求我们一定要兼容iOS5(或更低版本)及以上版本,如果我们手头找不到低版本硬件设备用于调试或者完全使用硬件设备而没有对应的模拟

用 Umbraco 开发网站[1]:下载安装与初探

一.Umbraco 下载方式 学习如何使用软件,首先要从有软件开始.Umbraco 的下载方式有四种: 1.直接下载(包括下载发行包.源代码):前往官网(https://our.umbraco.org/contribute/releases/)或者 github(https://github.com/umbraco/Umbraco-CMS) 下载发行包或者源代码: 2.NuGet下载:使用 VS 自带的 NuGet 插件,搜索合适版本的 UmbracoCms(https://www.nuget.

Xamarin.Forms教程开发的Xcode的下载安装

Xamarin.Forms教程开发的Xcode的下载安装 Xamarin.Forms教程开发的Xcode的下载安装,Xcode是开发iOS应用程序的图形化开发工具.本节将讲解Xamarin.Forms教程开发的Xcode的下载安装和苹果账号的申请. Xamarin.Forms开发前进行申请苹果账号 苹果账号是苹果公司专门为iOS.Mac.WatchOS开发成员提供的账号,也称开发者账号.有了此账号,开发成员才可以在App Store中进行SDK以及一些常用软件的下载以及安装,Xcode就是其中一