`
komei
  • 浏览: 91044 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Struts2.0+spring2.0+hibernate3.1 ACEGI应用示例(权限判断)

阅读更多

首先对先前的那个应用进行了完善,主要针对中文问题,查询后的记录的修改删除问题进行了完善。功能基本可以说已经比较完善了。尽管代码不是很好看。

这次添加了权限管理的功能,应用的是acegi来进行的权限管理。Acegi继承了spring的特点,无侵入性,利用aop来实现了权限管理。

权限管理主要形式是用户角色权限这种模式。因为是简单应用,我于是使用了用户权限的模式,省去了角色,少了两张表。

<o:p> </o:p>

users

<o:p> </o:p>

authorities

<o:p> </o:p>

user_auth

<o:p> </o:p>

<o:p> </o:p>

在程序中相应的增加了对应表的POJO类。在commons包中增加了DataSourceMethodDefinitionSourceEditor.java类。

<o:p> </o:p>

在根目录增加了accessDenied.jsplogin.jsp页面。

修改了web.xmlapplicationContext.xml.

<o:p> </o:p>

spring-context文件夹中增加了最关键的applicationContext-security-acegi.xml

<o:p> </o:p>

applicationContext-security-acegi.xml配置文件,我将会写一篇文章进行介绍,并说说自己使用时出现的问题,以及需要注意的地方。

<o:p> </o:p>

附件下载


相关信息:
struts2.0+spring2.0+hibernate3.1 web应用 示例代码下载

项目架构以及数据库信息
struts+spring+hibernate的web应用<一> 架构搭建

更多信息





千山鸟飞绝 2007-04-24 10:12 发表评论
分享到:
评论
1 楼 weiny517 2007-09-13  
你的代码我部属到tomcat6后,提示下列信息,请帮我看看吧
2007-9-13 17:22:45 org.apache.catalina.core.AprLifecycleListener init
信息: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.6.0_02\bin;D:\Tomcat 6.0\bin
2007-9-13 17:22:45 org.apache.coyote.http11.Http11Protocol init
信息: Initializing Coyote HTTP/1.1 on http-8080
2007-9-13 17:22:45 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 1108 ms
2007-9-13 17:22:46 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2007-9-13 17:22:46 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/6.0.14
INFO - Root WebApplicationContext: initialization started
2007-9-13 17:22:50 org.apache.catalina.core.ApplicationContext log
信息: Loading Spring root WebApplicationContext
INFO - JDK 1.4+ collections available
INFO - Loading XML bean definitions from ServletContext resource [/WEB-INF/spring-context/applicationContext.xml]
INFO - Loading XML bean definitions from ServletContext resource [/WEB-INF/spring-context/applicationContext-security-acegi.xml]
INFO - Bean factory for application context [Root WebApplicationContext]: org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [dataSource,sessionFactory,transactionManager,jdbcTemplate,customEditorConfigurer,manageSecurity,productsDao,productsService,pagerService,productAction,filterChainProxy,jdbcDaoImpl,authenticationManager,anonymousAuthenticationProvider,daoAuthenticationProvider,userCache,userCacheBackend,cacheManager,httpSessionContextIntegrationFilter,rememberMeProcessingFilter,rememberMeServices,rememberMeAuthenticationProvider,logoutFilter,authenticationProcessingFilter,anonymousProcessingFilter,securityContextHolderAwareRequestFilter,filterInvocationInterceptor,httpRequestAccessDecisionManager,roleVoter,exceptionTranslationFilter]; root of BeanFactory hierarchy
INFO - 30 beans defined in application context [Root WebApplicationContext]
INFO - Unable to locate MessageSource with name 'messageSource': using default [org.springframework.context.support.DelegatingMessageSource@1dc0e7a]
INFO - Unable to locate ApplicationEventMulticaster with name 'applicationEventMulticaster': using default [org.springframework.context.event.SimpleApplicationEventMulticaster@173ec72]
INFO - Unable to locate ThemeSource with name 'themeSource': using default [org.springframework.ui.context.support.ResourceBundleThemeSource@1bbd7b2]
INFO - Pre-instantiating singletons in factory [org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [dataSource,sessionFactory,transactionManager,jdbcTemplate,customEditorConfigurer,manageSecurity,productsDao,productsService,pagerService,productAction,filterChainProxy,jdbcDaoImpl,authenticationManager,anonymousAuthenticationProvider,daoAuthenticationProvider,userCache,userCacheBackend,cacheManager,httpSessionContextIntegrationFilter,rememberMeProcessingFilter,rememberMeServices,rememberMeAuthenticationProvider,logoutFilter,authenticationProcessingFilter,anonymousProcessingFilter,securityContextHolderAwareRequestFilter,filterInvocationInterceptor,httpRequestAccessDecisionManager,roleVoter,exceptionTranslationFilter]; root of BeanFactory hierarchy]
INFO - Hibernate 3.2.2
INFO - hibernate.properties not found
INFO - Bytecode provider name : cglib
INFO - using JDK 1.4 java.sql.Timestamp handling
INFO - configuring from url: file:/D:/Tomcat%206.0/webapps/game/WEB-INF/classes/com/game/bean/hibernate/hibernate.cfg.xml
INFO - Reading mappings from resource : com/game/products/model/products.hbm.xml
INFO - Mapping class: com.game.products.model.Products -> products
INFO - Configured SessionFactory: null
INFO - Building new Hibernate SessionFactory
INFO - Initializing connection provider: org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider
WARN - SQL Error: 0, SQLState: null
ERROR - Cannot create JDBC driver of class '' for connect URL 'null'
WARN - Could not obtain connection metadata
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1150)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:81)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:84)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:804)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:744)
at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:131)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1118)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1085)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:429)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:250)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:247)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:161)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:270)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:346)
at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:156)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3830)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4337)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.lang.NullPointerException
at sun.jdbc.odbc.JdbcOdbcDriver.getProtocol(JdbcOdbcDriver.java:507)
at sun.jdbc.odbc.JdbcOdbcDriver.knownURL(JdbcOdbcDriver.java:476)
at sun.jdbc.odbc.JdbcOdbcDriver.acceptsURL(JdbcOdbcDriver.java:307)
at java.sql.DriverManager.getDriver(DriverManager.java:253)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1143)
... 36 more
INFO - Using dialect: org.hibernate.dialect.SQLServerDialect
INFO - Using default transaction strategy (direct JDBC transactions)
INFO - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
INFO - Automatic flush during beforeCompletion(): disabled
INFO - Automatic session close at end of transaction: disabled
INFO - Scrollable result sets: disabled
INFO - JDBC3 getGeneratedKeys(): disabled
INFO - Connection release mode: on_close
INFO - Default batch fetch size: 1
INFO - Generate SQL with comments: disabled
INFO - Order SQL updates by primary key: disabled
INFO - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
INFO - Using ASTQueryTranslatorFactory
INFO - Query language substitutions: {}
INFO - JPA-QL strict compliance: disabled
INFO - Second-level cache: enabled
INFO - Query cache: disabled
INFO - Cache provider: org.hibernate.cache.NoCacheProvider
INFO - Optimize cache for minimal puts: disabled
INFO - Structured second-level cache entries: disabled
INFO - Echoing all SQL to stdout
INFO - Statistics: disabled
INFO - Deleted entity synthetic identifier rollback: disabled
INFO - Default entity-mode: pojo
INFO - Named query checking : enabled
INFO - building session factory
INFO - Not binding factory to JNDI, no JNDI name configured
INFO - Using DataSource [org.apache.tomcat.dbcp.dbcp.BasicDataSource@15f157b] of Hibernate SessionFactory for HibernateTransactionManager
INFO - Initializing EHCache CacheManager
WARN - No configuration found. Configuring ehcache from ehcache-failsafe.xml  found in the classpath: jar:file:/D:/Tomcat%206.0/webapps/game/WEB-INF/lib/ehcache-1.2.3.jar!/ehcache-failsafe.xml
org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
Caused by: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1150)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:112)
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:328)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:403)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:411)
at org.springframework.jdbc.core.JdbcTemplate.queryForList(JdbcTemplate.java:442)
at com.game.commons.DataSourceMethodDefinitionSourceEditor.setAsText(DataSourceMethodDefinitionSourceEditor.java:46)
at org.springframework.beans.TypeConverterDelegate.convertValue(TypeConverterDelegate.java:268)
at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:189)
at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:139)
at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:772)
at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:606)
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValue(AbstractPropertyAccessor.java:49)
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:74)
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:57)
at org.springframework.beans.factory.support.AbstractBeanFactory.applyPropertyValues(AbstractBeanFactory.java:836)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1026)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:809)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:425)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:250)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:247)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:161)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:273)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:346)
at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:156)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3830)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4337)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.lang.NullPointerException
at sun.jdbc.odbc.JdbcOdbcDriver.getProtocol(JdbcOdbcDriver.java:507)
at sun.jdbc.odbc.JdbcOdbcDriver.knownURL(JdbcOdbcDriver.java:476)
at sun.jdbc.odbc.JdbcOdbcDriver.acceptsURL(JdbcOdbcDriver.java:307)
at java.sql.DriverManager.getDriver(DriverManager.java:253)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1143)
... 45 more
INFO - Validated configuration attributes
INFO - CGLIB2 available: proxyTargetClass feature enabled
INFO - Validated configuration attributes
INFO - Using context class [org.springframework.web.context.support.XmlWebApplicationContext] for root WebApplicationContext
INFO - Root WebApplicationContext: initialization completed in 8482 ms
2007-9-13 17:22:58 org.apache.catalina.core.ApplicationContext log
信息: Set web app root system property: 'webapp.root' = [D:\Tomcat 6.0\webapps\game\]
2007-9-13 17:22:58 org.apache.catalina.core.ApplicationContext log
信息: Initializing Log4J from [D:\Tomcat 6.0\webapps\game\WEB-INF\classes\log4j.properties]
INFO - Parsing configuration file [struts-default.xml]
INFO - Parsing configuration file [struts-plugin.xml]
INFO - Parsing configuration file [struts.xml]
WARN - Settings: Could not parse struts.locale setting, substituting default VM locale
INFO - Overriding property struts.i18n.reload - old value: false new value: true
INFO - Overriding property struts.configuration.xml.reload - old value: false new value: true
INFO - Initializing Struts-Spring integration...
INFO - Setting autowire strategy to name
INFO - ... initialized Struts-Spring integration successfully
INFO - Setting DefaultObjectTypeDeterminer as default ...
2007-9-13 17:23:03 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: contextInitialized()
2007-9-13 17:23:03 org.apache.catalina.core.ApplicationContext log
信息: SessionListener: contextInitialized()
2007-9-13 17:23:03 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-8080
2007-9-13 17:23:03 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2007-9-13 17:23:03 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/107  config=null
2007-9-13 17:23:03 org.apache.catalina.startup.Catalina start
信息: Server startup in 18093 ms

相关推荐

    Struts2.0+spring2.0+hibernate3.1 ACEGI应用示例

    Struts2.0+spring2.0+hibernate3.1 ACEGI应用示例

    struts2.0+spring2.0+hibernate3.1+web应用

    【Struts2.0+Spring2.0+Hibernate3.1+Web应用】是一个经典的Java企业级应用架构组合,主要用于构建高效、灵活且易于维护的Web应用程序。这个组合集成了Struts2作为MVC框架,Spring作为依赖注入(DI)和面向切面编程...

    struts2.0+spring2.0+hibernate3.1 web应用

    ### Struts2.0 + Spring2.0 + Hibernate3.1 Web 应用知识点解析 #### 一、项目概述 本项目是一个基于Struts2.0、Spring2.0及Hibernate3.1的Web应用程序。它不仅实现了基本的CRUD(创建、读取、更新、删除)操作,...

    struts + spring + hibernate + velocity + ajax + jotm + acegi

    struts + spring + hibernate + velocity + ajax + jotm + acegi

    Struts2+Spring+Hibernate3+Acegi.rar

    这个名为"Struts2+Spring+Hibernate3+Acegi.rar"的压缩包提供了一个整合了这四个组件的示例项目,便于开发者学习和理解如何在实际应用中集成这些技术。 首先,Struts2是MVC(Model-View-Controller)架构的一个实现...

    struts2+spring+hibernate权限系统

    Struts2+Spring+Hibernate权限系统是一个经典的Java Web开发架构,用于构建高效、可扩展的企业级应用程序。这个架构结合了三个强大的开源框架:Struts2作为MVC(模型-视图-控制器)框架,Spring作为服务层管理和依赖...

    权限管理系统struts2+spring+hibernate+mysql

    Struts2、Spring、Hibernate和MySQL是Java Web开发中常用的技术栈,它们组合起来可以构建一个功能完善的权限管理系统。下面将分别介绍这四个组件及其在权限管理中的应用。 1. **Struts2**:Struts2是一个基于MVC...

    struts2.3+spring3.1+hibernate3.6整合jar包

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自解决应用程序的不同问题,而将这三者整合在一起可以构建出高效、可维护的Web应用。本整合包"struts2.3+spring3.1+hibernate3.6"提供了这三大框架的...

    struts2+spring+hibernate实验设备管理系统

    本文将围绕一个基于Struts2、Spring和Hibernate框架的实验设备管理系统进行深入探讨,旨在帮助读者理解这三大框架的集成应用以及在实际项目中的运用。 首先,Struts2作为一款强大的MVC(Model-View-Controller)...

    Struts2+Spring3.02+Spring Security3+Hibernate3.6

    Struts2、Spring3.02、Spring Security3和Hibernate3.6是Java Web开发中的四大框架,它们各自承担着不同的职责,共同构建了一个高效、稳定的后端架构。以下将详细解析这四个组件及其整合应用。 **Struts2** 是一个...

    Struts2+Spring4+Hibernate5 整合JAR包

    Struts2、Spring4和Hibernate5是Java Web开发中的三个核心框架,它们分别负责MVC模式中的表现层、业务层和服务层。这三个框架的整合,通常被称为SSH整合,能够实现高效、灵活且松耦合的Web应用开发。下面将详细阐述...

    权限控制(struts2+hibernate+spring+struts-menu+valuelist)

    本项目以"权限控制(struts2+hibernate+spring+struts-menu+valuelist)"为主题,采用一系列成熟的技术栈来实现这一目标。下面我们将深入探讨这些技术及其在项目中的应用。 首先,Struts2作为MVC框架,负责处理HTTP...

    Struts2+Spring2+Hibernate3实现登录

    此外,Spring的安全模块(Spring Security,前身是Acegi)可以用于更复杂的权限控制,但这里可能只是实现了基本的身份验证。 Hibernate3是一个对象关系映射(ORM)框架,它简化了Java应用与数据库之间的交互。在...

    struts1+spring

    8. **安全性**:Struts1 本身的安全性相对较弱,而 Spring 提供了 Spring Security(以前称为 Acegi Security)框架来增强应用的安全性,如身份验证、授权等。 9. **性能优化**:在实际项目中,还需要考虑性能优化...

    STRUTS+SPRING+HIBERNATE内部培训教程

    SSH(Struts+Spring+Hibernate)是Java企业级应用开发中常见的技术栈,它提供了强大的模型-视图-控制器(MVC)架构支持,以及持久层和业务层的优秀解决方案。本教程通过构建一个简单的电子公告板示例,揭示了SSH组合...

    权限管理系统(Struts2+Spring4+Hibernate5框架整合)

    在本文中,我们将深入探讨一个基于Struts2、Spring4和Hibernate5的权限管理系统——"crm_ssh"项目。这个项目展示了如何将这三个流行的技术栈整合在一起,为业务逻辑提供一个强大的支持平台。 **Struts2** 是一个...

    Struts2+Spring2+Hibernate3整合方案

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们的整合应用极大地提升了开发效率和项目的可维护性。这个整合方案通常被称为SSH(Struts2、Spring、Hibernate)集成,是过去许多企业级项目中首选的技术...

    Struts2 + Spring 2.5 + Hibernate 3.2 整合文档及事例程序

    Struts2、Spring和Hibernate是Java企业级开发中三大核心框架,它们的整合应用被称为SSH(Struts2-Spring-Hibernate)集成。本教程旨在帮助开发者理解如何在Eclipse环境中搭建一个基于SSH的完整应用程序。 Struts2是...

Global site tag (gtag.js) - Google Analytics