[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.zip (因为里面会有空的blank例子,包肯定是正确的)

完成的功能:映射显示jsp页面,validation验证。

1.首先要确保自己的JDK、和Tomcat配置正确,这里就不一一叙述了。

2.Eclipse里面File-> New-> Dynamic Web Progect (基本都选择默认的就可以了),本例子的名字为SSHProject (之后会继续整合Spring和Hibernate)

3.拷贝相应的包

3.1解压打开struts-2.3.24-apps.zip  里面app下面的 struts2-blank.war (打开war的方法,可以再相同工作目录下,建立一个rar,双击rar,然后如图示点击向上,就可以显示war,双击解压即可)

       

3.2 把blank中 WEB-INF中lib下面的包 都拷贝到 新建工程的 WEB-INF的lib中(不要多拷贝,也不要少拷贝)

3.3 打开blank.app.WEB-INF 下面的web.xml 将其中的Filter部分拷贝到工程对应的web.xml中

4.建立工程代码

4.1 struts.xml

(注意拼写和大小写,要在Java Resources下的 src下面 )

写出具体jsp的映射(先看代码,读完后面的可以再返回来理解)

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>

    <include file="struts-default.xml" />
    <package name="tiny" extends="struts-default">
        <action name="register" class="com.tiny.ssh.action.RegisterAction">
            <result name="input">/Register.jsp</result>
            <result name="success">/success.jsp</result>
            <result name="error">/fail.jsp</result>
        </action>
    </package>

</struts>

4.2 其他包的相应的代码:

RegisterAction.java:

package com.tiny.ssh.action;

import com.opensymphony.xwork2.ActionSupport;
import com.tiny.ssh.beans.UserForm;
import com.tiny.ssh.service.UserManager;
import com.tiny.ssh.serviceImp.UserManagerImpl;

public class RegisterAction extends ActionSupport {

    private static final long serialVersionUID = 1L;

    private UserForm user;

    private UserManager userManager;

    public UserForm getUser() {
        return user;
    }

    public void setUser(UserForm user) {
        this.user = user;
    }

    public UserManager getUserManager() {
        return userManager;
    }

    public void setUserManager(UserManager userManager) {
        this.userManager = userManager;
    }

    public String execute() {
        try {
            this.setUserManager(new UserManagerImpl());
            userManager.regUser(user);
            return SUCCESS;

        } catch (Exception e) {
            e.printStackTrace();
            return ERROR;
        }
    }

}

RegisterAction-validation.xml(上一个的验证,固定名字 [Action-Name]-validation,注意上面的头部代码,会因为版本的问题出现错误,选择其中好使的一个):

<?xml version="1.0" encoding="GBK"?>
<!-- 版本不一致 选择下面两个的一个 -->
<!--
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.3//EN"
    "http://www.opensymphony.com/xwork/xwork-validator-1.0.3.dtd">
 -->
 <!DOCTYPE validators PUBLIC
 "-//Apache Struts//XWork Validator 1.0.2//EN"
 "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">

<validators>
    <!-- 添加对用户名的校验 -->
    <field name="user.username">
        <field-validator type="requiredstring">
            <param name="trim">true</param>
            <message>用户名不能为空</message>
        </field-validator>
        <field-validator type="regex">
            <param name="expression"><![CDATA[(\w{6,16})]]></param>
            <message>用户名输入不合法,必须为长度在6~16中间的数字或字母</message>
        </field-validator>
    </field>

    <!-- 添加对密码的校验 -->
    <field name="user.password">
        <field-validator type="requiredstring">
            <param name="trim">true</param>
            <message>密码不能为空</message>
        </field-validator>
        <field-validator type="regex">
            <param name="expression"><![CDATA[(\w{6,16})]]></param>
            <message>密码输入不合法,必须为长度在6~16之间的数字或者字母</message>
        </field-validator>
    </field>
</validators>

UserForm.java:

package com.tiny.ssh.beans;

public class UserForm {

    private String username;
    private String password;
    private int gender;

    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;
    }

    public int getGender() {
        return gender;
    }

    public void setGender(int gender) {
        this.gender = gender;
    }

}

UserManager.java:

package com.tiny.ssh.service;

import com.tiny.ssh.beans.UserForm;

public interface UserManager {

    public void regUser(UserForm user);

}

UserManagerImpl.java:

package com.tiny.ssh.serviceImp;

import com.tiny.ssh.beans.UserForm;
import com.tiny.ssh.service.UserManager;

public class UserManagerImpl implements UserManager {

    @Override
    public void regUser(UserForm user) {

    }

}

Register.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ 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=UTF-8">
<title>User Register Page</title>
</head>
<body>

    <s:form action="register">
        <s:textfield name="user.username" label="用户名"></s:textfield>
        <s:password name="user.password" label="密码"></s:password>
        <s:select list="#{‘1‘:‘男‘,‘0‘:‘女‘}" listKey="key" listValue="value"
            name="user.gender" label="性别" value="1"></s:select>
        <s:submit value="注册"></s:submit>
    </s:form>

</body>
</html>

success.jsp 只是显示了Success一句话。

最终的层次图如下:

5.建立新的Tomcat服务器,网址输入http://localhost:8080/SSHProject即可

 (别忘了改在web.xml的欢迎界面,本例子改为Register.jsp)

结果图:

6.总结

Struts是当今Java比较流行的三大框架之一,三大框架是Struts,spring,hibernate。

Struts框架包括Struts1和Struts2,由于两个版本相差比较大,Struts1已经被淘汰,现在企业基本上全部都用Struts2,本例子使用的就是Struts2。

该框架的作用,可以理解为将用户和访问的JSP解耦,交给Action来做,struts.xml中配置相应的映射关系,通过映射找到对应的jsp页面。

下面的图利于理解:

希望读者好好体会,以便于应用。

参考链接:

http://blog.csdn.net/yeohcooller/article/details/9316923

http://bbs.csdn.net/topics/390755826

http://blog.163.com/sean_zwx/blog/static/169032755201091595558378/

时间: 2024-08-30 04:47:31

[SSH] Eclipse+Struts2的简单应用的相关文章

[SSH] Eclipse+Struts2+Hibernate4+Spring4的手动入门配置流程

整合一下自己在配置环境时候的方法,因为网上大部分都是MyEclipse自动配置或者低版本的,这里自己研究了一下新版本不同的地方,用的基本都是最新的,将配置方法跟大家分享一下,下面是所有的环境版本信息: 操作系统:Win7 64bit JDK:1.7.0_67 for 64bit Tomcat: apache-tomcat-8.0.24-windows-x64 Eclipse: eclipse-jee-mars-R-win32-x86_64.zip MySql : MySQL Server 5.5

[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

[Python Fabric] [SSH] Mac OS X 10.9 + Vagrant虚拟环境使用Python Fabric进行SSH远程登录的简单实验

1. ssh客户端生成key 1 $ ssh-keygen -t rsa -b 4096 2 Generating public/private rsa key pair. 3 Enter file in which to save the key (/Users/(username)/.ssh/id_rsa): vagrantid_rsa 4 Enter passphrase (empty for no passphrase): 5 Enter same passphrase again: 6

struts2的简单校验笔记

1.校验文件名的写法:Action name-validator.xml2.校验文件应该放在action 对应的包里面3.校验文件的写法.<validators> <!-- 设置要校验的参数--> <field name="param name"> <field-validator type="requiredstring"> <!--设置参数trim为true--> <param name=&quo

1、Struts2的简单搭建方法

一.Struts2:是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet:用于jsp页面与Java代码之间的交互. 1.核心:Filter拦截器,对所有的请求进行拦截. 2.工作流程:http://localhost:8080/项目名/请求 --> 被web.xml中的Struts拦截器拦截到strus.xml文件-->找到对应的action里面对应的name,也就找到了对应的类-->通过action里面的method参数找到对应的执行方法,并返回一个字符串--&g

用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.为项目添加

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

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

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

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

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