`

Struts+Spring+Ajax整合方法学习...

阅读更多
Spring2.5
Struts1.3
JQuery1.3.2
1. 业务层服务
package com.chencytttl.service;

/**
 * 用户管理接口.
 * User: 陈瑞军
 * Date: 2009-8-12
 * Time: 17:50:41
 */
public interface UserManage {
    /**
     * 判断用户是否存在。
     * @param userName 用户名
     * @return 用户是否存在
     */
    public abstract boolean userExists(String userName);
}

import com.chencytttl.service.UserManage;

import java.util.List;
import java.util.ArrayList;

import org.springframework.stereotype.Service;

import javax.annotation.PostConstruct;

/**
 * 用户管理服务.
 * User: 陈瑞军
 * Date: 2009-8-12
 * Time: 17:50:59
 */
@Service("userMessageBean")
public class UserMessageBean implements UserManage {
    /* 用来存放用户名 */
    private List<String> userNames = new ArrayList<String>();

    @PostConstruct
    public void initUserList() {
        userNames.add("chencytttl");
        userNames.add("zhangsan");
    }

    public boolean userExists(String userName) {
        if (userNames.contains(userName)) {
            return true;
        }
        return false;
    }
}

2. Action类
package com.chencytttl.servlet;

import com.chencytttl.service.UserManage;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
import javax.annotation.Resource;

import org.springframework.stereotype.Controller;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;

/**
 * 校验用户是否存在Struts Action.
 * User: 陈瑞军
 * Date: 2009-8-12
 * Time: 17:57:37
 */
@Controller("/validUserExists")
public class ValidUserExistsAction extends Action {
    @Resource(name = "userMessageBean")
    private UserManage userManage;

    @Override
    public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
        ValidFrom vf = (ValidFrom) actionForm;
        boolean isExists = userManage.userExists(vf.getUserName());
        PrintWriter out = httpServletResponse.getWriter();
        if (!isExists) {
            out.append("User not Exists!");
        } else {
            out.println("Hello" + vf.getUserName());
        }
        return null;
    }
}

3.Spring配置文件,Struts配置文件以及Web.xml文件,以及Spring和Struts整合的关键
Spring配置文件(applicationContext.xml)
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
       <context:component-scan base-package="com.chencytttl"></context:component-scan>
</beans>

Struts配置文件(struts-config.xml)
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts-config PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
        "http://struts.apache.org/dtds/struts-config_1_3.dtd">

<struts-config>
    <form-beans>
        <form-bean name="validForm" type="com.chencytttl.servlet.ValidFrom"></form-bean>
    </form-beans>
    <global-exceptions></global-exceptions>
    <global-forwards></global-forwards>
    <action-mappings>
        <action path="/validUserExists" name="validForm" scope="request" [color=red]type="org.springframework.web.struts.DelegatingActionProxy"[/color] validate="true" input="/index.jsp">
        </action>
    </action-mappings>

</struts-config>

其中,红色部分是Spring和Struts整合的关键(当然只是整合的一种方式)
web配置文件(web.xml)
<?xml version="1.0" encoding="UTF-8"?>
<web-app 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"
           version="2.5">
    <!-- 加载spring的BeanFactory -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <!-- 加载Struts的调度核心 -->
    <servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        <init-param>
            <param-name>config</param-name>
            <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
</web-app>

4.Jsp页面(index.jsp)
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
      <title>Ajax学习</title>
      <script type="text/javascript" src="jquery-1.3.2.js"></script>
      <script type="text/javascript" src="ajaxstudy.js"></script>
  </head>
  <body>
    <h4>请输入你的姓名:</h4>
    <input type="text" id="userNameText" /><span id="result"></span><br/>
    <input type="button" value="提交" onclick="valid()">
  </body>
</html>

5. JS脚本(ajaxstudy.js)
function valid() {
    $.ajax({
        url:'validUserExists.do',
        type:'get',
        data:'userName=' + $("#userNameText").val(),
        error: function() {
            alert("error");
        },
        success: function(data) {
            $("#result").text(data).css("color", "blue");
        }
    });
}
分享到:
评论

相关推荐

    零基础学Java_Web开发:JSP+Servlet+Struts+Spring+Hibernate+Ajax

    第十三章和第十七章的PPT分别深入解析了Struts的使用和Struts与Spring、Hibernate的整合,展示了如何有效地管理应用程序的流程和控制。 6. **Spring**: Spring是一个全面的Java企业级应用框架,支持依赖注入、AOP...

    Struts2+Spring+Hibernate+Ehcache+AJAX+JQuery+Oracle 框架集成用户登录注册Demo工程

    1.通过google ehcache-spring-annotatios.jar自动注解方式实现整合Spring+Ehcache。 2.Action里通过struts2-spring-plugin.jar插件自动根据名字注入。 3.Ajax无刷新异步调用Struts2,返回Json数据,以用户注册为例。...

    java web 实战宝典_JSP+Servlet+Struts_2+Hibernate+Spring+Ajax

    根据标题、描述和部分内容,知识点覆盖范围主要集中在Java Web开发领域,并且包括了JSP、Servlet、Ajax以及SSH框架(Struts 2、Spring、Hibernate)的技术整合和实战案例分析。 JSP(Java Server Pages)是一种动态...

    struts+spring+hibernate(三大框架),外加ajax

    在这个项目中,你可能会找到Spring的配置文件(applicationContext.xml),学习如何配置Bean以及Spring与Struts的整合方式。 Hibernate是Java领域的一款持久化框架,它简化了数据库操作,通过ORM(对象关系映射)技术...

    struts2+spring+mybatis+easyui的实现

    总的来说,"struts2+spring+mybatis+easyui"的实现是一个标准的Java Web项目结构,它利用Maven进行构建管理,通过整合四个组件,实现了后端的业务逻辑处理、数据访问和前端的用户界面展示。这种架构在实际开发中具有...

    Struts2+Spring+Hibernate+Ajax框架整合

    Struts2+Spring+Hibernate+Ajax框架整合是一个常见的企业级应用开发模式,也被称为SSH2框架。这个项目展示了如何将这四个强大的技术组件融合在一起,以实现高效、灵活且易于维护的Web应用程序。 Struts2作为MVC...

    struts+hiernate+Spring+ajax(四)整合

    "Struts+Hibernate+Spring+Ajax"的整合是Java Web开发中一个经典且广泛采用的组合,它涵盖了MVC(Model-View-Controller)框架、持久层管理、依赖注入以及异步数据交互等多个方面。现在,我们来详细探讨这个整合中的...

    Struts2+maven+spring+mybatis整合实现注册功能实例

    Struts2、Maven、Spring和MyBatis是Java Web开发中的四大框架,它们的整合应用可以构建出高效、模块化的应用程序。这个实例是关于如何将这些技术融合在一起,实现一个用户注册的功能。 首先,Struts2是一个基于MVC...

    零基础学Java.Web开发:JSP.Servlet.Struts.Spring.Hibernate.Ajax(PPT).

    这个压缩包中的资源,"零基础学Java.Web开发:JSP Servlet Struts Spring Hibernate Ajax(PPT)",旨在为初学者提供一个全面的学习路径,从基础的网页编程到复杂的框架应用。 1. **JavaServer Pages (JSP)**: JSP是...

    Struts1.1+spring2.5+ibatis2.3+Ajax整合的源代码

    Struts1.1+Spring2.5+Ibatis2.3+Ajax整合是一个经典的Java Web开发框架组合,常用于构建企业级应用。这个源代码集合提供了如何将这四个技术有效地结合在一起的实例,以实现一个功能强大的、具有无刷新特性的用户界面...

    JavaEE多层架构Struts2+Spring3+Hibernate3+Ajax的整合

    ### JavaEE多层架构Struts2+Spring3+Hibernate3+Ajax的整合 #### 概述 随着软件开发技术的不断进步,构建可复用、易于扩展并经过良好测试的软件组件变得尤为重要。在此背景下,Struts、Spring 和 Hibernate 这三大...

    struts2+spring+ibatis+jquery ajax的登陆注册实时验证

    Struts2、Spring、iBatis和jQuery AJAX是Java Web开发中的四大核心技术,它们共同构建了一个功能强大的MVC(模型-视图-控制器)架构。本文将深入探讨这些技术在登录注册系统中的应用。 首先,Struts2是Apache基金会...

    ssh2(struts2+spring2.5+hibernate3.3+ajax)带进度条文件上传(封装成标签)

    标题 "ssh2(struts2+spring2.5+hibernate3.3+ajax)带进度条文件上传(封装成标签)" 涉及到的是一个基于Java Web的项目,利用了Struts2、Spring2.5、Hibernate3.3和Ajax技术,实现了文件上传并带有进度条显示的功能...

    struts+spring+hibernate ssh框架一个实例

    在SSH整合中,Spring作为业务逻辑的核心,可以管理和调用DAO(数据访问对象),同时负责控制流程的跳转,以及提供Spring MVC来替代部分Struts的功能。 Hibernate是一个强大的ORM(对象关系映射)框架,它可以将Java...

    开发基于Struts Spring Hibernate Ajax的网上信息发布平台(Struts Hibernate Spring Ajax)--Chapter1

    在本章中,我们将深入探讨如何开发一个基于Struts、Spring、Hibernate和Ajax的网上信息发布平台。这四个技术是Java Web开发中的核心组件,它们各自承担着不同的职责,共同构建了一个强大而灵活的后端架构。 **...

    struts2+spring+hibernate 整合的jar包

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们的整合(SSH)极大地提升了开发效率和项目的可维护性。下面将详细讲解这三大框架的核心功能以及整合过程中的关键知识点。 1. **Struts2**:Struts2是一...

    Java Web整合开发实战:基于Struts 2+Hibernate+Spring(PDF)

    Java Web整合开发实战--基于Struts 2+Hibernate+Spring.pdf 1章 Web的工作机制 2章 搭建Java Web开发环境 3章 JSP及其相关技术 2篇 表现层框架Struts技术 4章 Struts快速上手 5章 解密Struts之核心文件 6章 ...

    struts2+hibernate+spring+dwr整合

    Struts2、Hibernate、Spring 和 DWR 是四个在Java Web开发中非常重要的框架,它们各自在不同的领域提供了强大的功能,并且能够通过整合实现更高效、更灵活的应用开发。接下来,我们将详细探讨这些技术以及它们如何...

    Struts+hibernate+jsp整合的商城销售系统

    Myeclipse完美运行的一个商城销售系统,支持后台管理员操作前台修改页面。增加商品,修改商品分类,修改会员,订单查询等。 使用的Strurs2+hibernate+jsp技术,Mysql的数据库,已有数据库sql,导入直接运行!...

    struts+spring+hibernate整合

    Spring4.0、Struts2.3.15、Hibernate4.2.4、jQuery1.9.1涉及到了诸多开发时的细节:ModelDriven、Preparable 拦截器、编写自定义的类型转换器、Struts2 处理 Ajax、OpenSessionInViewFilter、迫切左外连接、Spring ...

Global site tag (gtag.js) - Google Analytics