简单的搭建一个SSH框架

准备工作:
1.新建一个动态web项目(不要xml文件,使用全注解)
2.往lib加东西(注意别重复)
   Strust2最小包+3个包(14个)、Hibernate的包、Spring的包、还有ojdbc6.jar
3.resource 资源文件夹

  jdbc.properties、log4j.propertiesa、struts.xml

第一步:让Struts2和Spring相结合

 1.需要一个全注解的配置类 WebInitialize.java  用来代替web.xml

package com.zhaoming.config;

import javax.servlet.FilterRegistration.Dynamic;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter;
import org.springframework.orm.hibernate4.support.OpenSessionInViewFilter;
import org.springframework.web.WebApplicationInitializer;
import org.springframework.web.context.ContextLoaderListener;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;

public class WebInitializer implements WebApplicationInitializer {

    public void onStartup(ServletContext servletContext) throws ServletException {
        servletContext.addFilter("hibernateFilter", OpenSessionInViewFilter.class).addMappingForUrlPatterns(null, false, "/*");
        AnnotationConfigWebApplicationContext root = new AnnotationConfigWebApplicationContext();
        root.register(DataSourceConfig.class);
        //servletContext.setInitParameter("contextConfigLocation", "classpath:applicationContext.xml");
        servletContext.addListener(new ContextLoaderListener(root));
        Dynamic filter=servletContext.addFilter("struts2", new StrutsPrepareAndExecuteFilter());
        filter.addMappingForUrlPatterns(null,false,"/*");
    }
}

  2.新建index.jsp,一个单独的转向到com.zhaoming.action  ——>InitAction,成功返回login.jsp,测试成功。

第二步:把 hibernate和Spring结合在一起
  创建一个与hibernate相关的DataSourceConfig配置类,主要工作:
    (1)连接数据库
    (2)获取sessionFactory
    (3)事务控制

package com.zhaoming.config;

import java.util.Properties;
import javax.annotation.Resource;
import org.hibernate.SessionFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.core.env.Environment;
import org.springframework.orm.hibernate4.HibernateTransactionManager;
import org.springframework.orm.hibernate4.LocalSessionFactoryBean;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import com.alibaba.druid.pool.DruidDataSource;

@Configuration
@ComponentScan("com.zhaoming")
@EnableTransactionManagement        //开启事务控制
@PropertySource("classpath:jdbc.properties")
public class DataSourceConfig {

    @Resource
    Environment env;
    @Resource
    DruidDataSource dataSource;
    @Resource
    SessionFactory sessionFactory;

    @Bean(name="dataSource")
    public DruidDataSource getDruidDataSource(){
        DruidDataSource dds = new DruidDataSource();
        dds.setUrl(env.getProperty("jdbc.url"));
        dds.setUsername(env.getProperty("jdbc.username"));
        dds.setPassword(env.getProperty("jdbc.password"));
        dds.setDriverClassName(env.getProperty("jdbc.class_name"));
        return dds;
    }

    @Bean(name="sessionFactory")
    public LocalSessionFactoryBean getLocalSessionFactoryBean(){
        LocalSessionFactoryBean lsfb = new LocalSessionFactoryBean();
        lsfb.setDataSource(dataSource);
        lsfb.setPackagesToScan("com.zhaoming");
        Properties prop = new Properties();
        prop.setProperty("hibernate.dialect", "org.hibernate.dialect.Oracle9Dialect");
        prop.setProperty("hibernate.current_session_context_class", "org.springframework.orm.hibernate4.SpringSessionContext");
        prop.setProperty("show_sql","true");
        lsfb.setHibernateProperties(prop);
        return lsfb;
    }

    @Bean(name="transactionManager")
    public HibernateTransactionManager getHibernateTransactionManager(){
        HibernateTransactionManager htm = new HibernateTransactionManager();
        htm.setSessionFactory(sessionFactory);
        return htm;

    }

}

测试是否能获取到session

第三步:根据自己的需要去写Dao、Service,贯穿整个项目。

1.通过MyEclipse建一个User实体类
    2.UserDaoIface
    3.UserDaoImp    ——  测试
    4.ServiceIface
    5.ServiceImp    ——  测试
    6.jsp
    7.相对应的Action  ——  测试

至此,一个简易的SSH框架就完成了。

时间: 2024-10-04 13:56:12

简单的搭建一个SSH框架的相关文章

简单搭建的SSH框架实现简单的登陆

由于本人自学的,所以借鉴于以下的博客和错误修改的博客: http://blog.csdn.net/lylyyg/article/details/46932493 http://blog.csdn.net/zongzhankui/article/details/6099552 http://wenku.baidu.com/link?url=lVKV4WNu1VjzoBksNh1fCOjDhlV3R25UBb90R4jgRjRkd5fRMbKClU9mHIHNwVxBR4UjE_rYRBzP1yt1

springboot入门(一)--快速搭建一个springboot框架

原文出处 前言在开始之前先简单介绍一下springboot,springboot作为一个微框架,它本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速.敏捷地开发新一代基于Spring框架的应用程序,总的来说springboot不是为了要替代Spring IO平台上众多的项目也不是spring的升级,它只是提供一种不同的开发体验,一种几乎没有配置文件的快速开发的框架,让你体验一下java做到接近ruby on rails开发速度的感觉. 正文说了一堆废话直接进入正文,接下来将体验到没

nodejs 简单的搭建一个服务器

前言: nodejs 主要是后台语言 模块 自定义 JavaScript 是前台语言 nodejs 是 也是使用我们的 JavaScript 语言,甚至他的引擎都是 chrome 的 v8 引擎,开源,所以学习 nodejs 对于我们前端来说,是一件极其友好的事情 后台的语言: php python Java nodejs 的优势 1. 性能 经过某个不专业的人士测试: nodejs 比 php 的 性能高 86倍 nodejs 运行 1s   php 要运行 一分半 就是写一个项目:php 

搭建一个SSH项目框架的步骤

1.导入jar包(38个) 2.配置文件 applicationContext,xml (beans.xml) (数据源.LocalSessionFactoryBean.事务管理器.事务通知.AOP切面.组件扫描.对注解提供支持) Struts.xml 3,web.xml Struts2过滤器 <filter> <filter-name>action</filter-name> <filter-class>org.apache.struts2.dispatc

快速搭建一个SSM框架demo

我之所以写一个快速搭建的demo,主要想做一些容器的demo,所以为了方便大家,所以一切从简,简单的3层架构 先用mysql的ddl,后期不上oracle的ddl SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for `sys_com_code` -- ---------------------------- DROP TABLE IF EXISTS `sys_com_code`; CRE

搭建的SSH 框架

公用JDBC 方法,如果要保存数据,不许再service 中写,而且必须带save*  update* 的方法名才受事物控制,ajax 返回json 控制,登录拦截器, 用户体系我没有建立,个人需要不同, git  地址 http://git.oschina.net/osguy/WebDream/tree/master 采用的是Struts2.3*  spring 3.*  hibernate4* 具体的不记得了,一个多星期熬夜写的,希望对大家有帮助,代码托管在OSCHINA git 上面了.

OA项目2:环境搭建之ssh框架整合

首注:本学习教程为传智播客汤阳光讲师所公布的免费OA项目视频的文字版,本人用此来加强巩固自己开发知识,如有网友转载,请注明.谢谢. 今天做Spring+Hibernate+Struts2整合. 一 Struts2与Spring的整合. 1.整合之前Struts2例子: 在src下建立一个包,包名为:cn.clear.oa.test,在包下面建立一个类TestAction.java,内容如下: 1 package cn.clear.oa.test; 2 3 import com.opensymph

使用Grizzy+Jersey搭建一个RESTful框架()报错Exception in thread &quot;main&quot; java.lang.AbstractMethodError: javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;)Ljavax/ws/rs/core/UriBuilder;

报错的类涉及UriBuilder,我搜索类发现, 这个类存在于两个包中,我在baidu的时候,也有人提到是jar包冲突,我就删除了 这个依赖,问题解决了. 环境搭建过程请见地址https://blog.csdn.net/jinxfei/article/details/4714809 原文地址:https://www.cnblogs.com/BaleW/p/8668712.html

简单的搭建一个SSM项目

一直以来都想去写一写博文,记录一下自己的成长过程,因为拖延症一直都没有去写,而以往学过的知识,不用的就慢慢遗忘了. 我是一个菜鸟,但有一个大牛梦,若是有不妥当之处,还望大家不吝赐教! 1.添加jar 1 <dependency> 2 <groupId>org.springframework</groupId> 3 <artifactId>spring-context</artifactId> 4 <version>5.0.6.RELE