SSH之Struts2

由于现在struts1不常使用了,对于struts1的了解也不是很多,就说Struts2吧,struts的视频是看过期好久好久了一直没有系统的整理,这次打算搭建SSH框架,再重新梳理一遍,说起Struts2我们都知道是由传统的Struts、webwork两个经典MVC框架发展起来的,所以从各种角度来说Struts2都是一个优秀的MVC框架。

今天就先写一个使用struts2框架实现的登录的小实例:

第一步:需要编写web.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4"
 xmlns="http://java.sun.com/xml/ns/j2ee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
 <display-name>strutsdemo</display-name>
 <!-- 建立web与struts的关联***************start************** -->
 <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与struts的关联***************start************** -->
</web-app>

第二步:引入struts2需要的jar包:添加到web-info下的lib文件下:

第三步:建立登录的jsp页面:

<!-- 定义标签库 -->
<%@taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>登录</title>
</head>
<body>
    <!-- 定义一个表单和三个简单表单域 -->
    <s:form action="login">
        <s:textfield name="username" key="user"></s:textfield>
        <s:textfield name="password" key="pass"></s:textfield>
        <s:submit key="login"></s:submit>
    </s:form>
</body>
</html>

第四步:在jsp中指定表单的action为login,因为必须定义action,代码如下:

package com.tgb.struts2;

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方法
	 */
	@Override
	public String execute() throws Exception {
		// TODO Auto-generated method stub
		if(getUsername().equals("jly") && getPassword().equals("0"))
		{
			ActionContext.getContext().getSession().put("user",getUsername());
			return SUCCESS;
		}
		else {
			return ERROR;
		}
	}
}

第五步:struts配置文件:增加了Action类之后,还需编辑相应的配置文件:其中需要说明的是,代码中的key是设置的常量,那么这个是在哪里设置的呢?这样:Struts2框架有两个核心配置文件,其中Struts.xml主要负责管理应用中的action映射以及action处理结果和物理资源之间的映射关系,除此之外还包含了一个struts.properties文件,主要用于定义框架的大量常量属性。我们先来看struts.xml配置文件内容:

<struts>
<!-- 通过constant元素配置Struts2的属性 -->
<constant name="struts.custom.i18n.resources" value="mess"></constant>

    <package name="demo"  extends="struts-default">
        <action name="login" class="com.tgb.struts2.LoginAction">
           <result name="input">/login.jsp</result>
           <result name="error">/error.jsp</result>
           <result name="success">/welcome.jsp</result>
        </action>
    </package> 

</struts>

定义变量的文件为:

这样jsp页面的显示效果为:

这是一个简单的实例,其中有一个亮点是mess.properties文件可以灵活的配置常量的属性。

时间: 2024-11-08 23:52:10

SSH之Struts2的相关文章

用MyEclipse搭建SSH框架(Struts2 Spring Hibernate)

1.new一个web project. 2.右键项目,为项目添加Struts支持. 点击Finish.src目录下多了struts.xml配置文件. 3.使用MyEclipse DataBase Explorer建立数据源. new一个数据源.填入数据源信息. 点击test Driver,如果成功显示: 点击OK,点击Finish. 4.为项目添加Spring支持. 选择五个包,之后JAR Library Installation为如下图. 点击Next. 默认点击Finish. 5.为项目添加

SSH(Spring+Struts2+Hibernate)整合

本博文介绍目前较流行的三大(Spring+Struts2+Hibernate)框架的整合. 一般整合需要以下几个步骤: 1.首先导入相应的jar包 Spring所需的jar包如下图: Struts所需的jar包如下图: hibernate所需的jar包如下图: 一些共同所需的jar包如下图: 其中mysql-connector-java-5.1.33-bin.jar是连接mysql数据库所需的jar包. 将上述的jar包拷贝到项目的lib目录下. 2.spring和struts整合 只需要Str

SSH (Struts2+Spring+Hibernate)框架搭建

1.相关jar包下载地址:http://download.csdn.net/detail/harderxin/4420066 2.项目结构截图: 3.相关配置文件: (1)web.xml文件配置 <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmln

Eclipse上搭建SSH(struts-2.2.3 + spring-2.5.6 + hibernate-3.6.8)框架-附源码

一直想自己搭建一个ssh框架,这次由于编写demo的需要,就亲手搭建了一下,并逐步测试!下面进入正题: 创建Struts项目 整合步骤: 1,在Eclipse中创建一个DynamicWeb Project,本文项目名称为SSH. 2,添加相应的jar包,放到SSH项目下的WEB-INF/lib下. 3,建立struts配置文件. 编写相应的测试代码: 1,在src目录下创建相应package. 2,在WebContent下创建Register.jsp文件,并分别创建注册成功和注册失败的Succe

SSH整合(struts2.3.24+hibernate3.6.10+spring4.3.2+mysql5.5+myeclipse8.5+tomcat6+jdk1.6)

终于开始了ssh的整合,虽然现在比较推崇的是,ssm(springmvc+spring+mybatis)这种框架搭配确实比ssh有吸引力,因为一方面springmvc本身就是遵循spring标准,所以不用像struts那样添加jar包去管理,其次是mybatis不能算一个完全的orm框架(因为mybatis依旧写的是面向关系的sql)但是相比ssh更加灵活和优化更加容易. 貌似偏题了,重新说回ssh整合. 首先引入jar包:(这里需要新建一个web项目,如果你不知道怎么在myeclipse怎么新

Eclipse搭建SSH(Struts2+Spring+Hibernate)框架教程

| 版权声明:本文为博主原创文章,未经博主允许不得转载. 前言 确实,刚创博客,对于这个陌生的东西还是有些许淡然.这是我的第一篇博文,希望能给你们有帮助,这就是我最大的乐趣! 好了下面进入正题: SSH框架简介:①SSH框架是由struts2.spring.hibernate三大框架组合起来的一套总框架,一般来说这三个东西我们不会单独使用.  ②在学习SSH框架之前建议读者先学mvc,因为SSH是在mvc基础上根据mvc的缺点而产生的一套比较成熟的框架,也比较稳定.  ③SSH框架的流程:浏览器

[SSH] Eclipse+Struts2的简单应用

终于要开始研究框架了,没有大神的指导,只能自己上网摸索着来,没有唯一对的方案,只能找到最适合自己的就可以了. 首先整理一下,代码是参考别人的代码,按照别人的版本有问题,大概整理了一下,自己重新弄了一个,这次的环境(基本都是当前最新的,64位,如果有需要的可以留言): Eclispe:eclipse-jee-mars-R-win32-x86_64 (J2EE) Tomcat:apache-tomcat-8.0.24-windows-x64 Structs:struts-2.3.24-apps.zi

SSH项目整合教学Eclipse搭建SSH(Struts2+Spring3+Hibernate3)

这篇博文的目的 尝试搭建一个完整的SSH框架项目. 给以后的自己,也给别人一个参考. 读博文前应该注意: 本文提纲:本文通过一个用户注册的实例讲解SSH的整合.创建Struts项目,整合Hibernate,整合Spring.最后总结如何熟练创建SSH项目. 仅是创建SSH项目,对于其他的扩展例如Struts的国际化,Hibernate的缓存优化,Spring的AOP等,本博文涉及不到.想学习更多的东西请搜索其他博文. 本项目的环境:Windows 8-64位,Eclipse Indigo Ser

[SSH] Eclipse+Struts2+Hibernate4+Spring4的整合

在前面Struts2和Hibernate4的整合基础上,对Spring4进行整合,网上参考的大概都是Spring4+Hibernate3或者基于MyEclispe的,这里把自己研究后的配置和大家分享一下. 本次相关的版本如下: Spring : spring-framework-4.0.1.RELEASE 1.将相关的jar包导入: 1.1libs目录下包含所有的jar包(不需要复制结尾为sources和javadoc的jar包)到SSHProject项目的lib目录 1.2 Hibernate