`
皓君同學
  • 浏览: 2638 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

我的第一个ssh整合

 
阅读更多

经过了一个月的理解,尝试,纠结,痛苦,终于通过自己理解编出我的第一个SSH整合应用。
其实应用很简单,在web页面通过ID查找用户名。
其中比较难理解是Spring的bean注入。其实Struts和Hibernate都是比较死的东西。
Struts处理web的请求和相应,如struts.xml所示

 

<struts>
	<package name="default" extends="struts-default" namespace="/">
	<!-- extend继承struts一些默认的拦截器,这个不能不写,写错了也不行,我在里调了很久,很是郁闷。namespace命名空间其实也很重要,初学者也要注意 -->
		<action name="searchAction" class="SearchAction">
	<!--这里到了关键地方,此class非彼class。如果不用Spring管理,class可以写成“action.SearchAction”。
		但是现在用Spring管理,此class其实是一个bean的id -->
			<result name="success">categoryinfo.jsp</result>
		</action>
	</package>
</struts>
 

我理解SSH整合框架前前后后用了三个星期,可能买的书不好,学起来很麻烦。

个人觉得,最难理解是spring吧,因为spring不像struts,hibernate那样有具体的功能,它类似一个项目管理工具。我是从spring mvc 开始入手学习的,理解比较容易点。

配完了struts.xml 就要配置 applicationContext.xml

applicationContext.xml配置文件中其实就是一堆的<bean>,每个<bean>都对应一个java类

<bean>下的<property>元素就是java类中的属性,java类会提供set方法,spring正是用这个关系来管理的

 

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="configLocation" value="classpath:hibernate.cfg.xml"></property>
	</bean>
    <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
    	<property name="sessionFactory" ref="sessionFactory"> </property>
    </bean>   
	<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
		<property name="sessionFactory" ref="sessionFactory"></property>
	</bean>
	<!-- 上面三个bean 是spring提供的hibernate管理工具,使用时记住一定要导入spring-orm的包,这个包中提供了对hibernate的支持。 -->
	<!-- property 对应类中的属性,value 相当于在向类中的setter方法注值,注过值后的类就不是一个空的类了,就是一个有属性的类 -->
	<bean id="categoryDAO" class="dao.impl.CategoryDAOImpl">
		<property name="template" ref="hibernateTemplate"></property>
	</bean>
	<!-- 此处bean的被struts.xml中的action调用,调用的同时向action.SearchAction中注入categoryDao注值 -->
	<bean id="SearchAction" class="action.SearchAction" scope="prototype">
		<property name="categoryDAO" ref="categoryDAO"></property>
	</bean>

 

 

最核心的依然是web.xml文件,个人觉得配置web.xml文件的方法应该有很多种,作为初学者这种应该比较好理解。

<listener>和<context-param>的作用是什么我也解释不清楚,暂时这样配吧。应该是项目启动自动加载配置文件。

这里用struts配置文件的形式接受请求。符合请求条件的会被指派到指定的action中执行java代码。

 web.xml

<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener	</listener-class>
	</listener>
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>WEB-INF/applicationContext.xml</param-value>
	</context-param>
	
	<filter>
		<filter-name>struts</filter-name>
		<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>struts</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

 

action类,提供一个搜索功能,即根据ID搜索用户。

 

public class SearchAction extends ActionSupport {
	private CategoryDAO categoryDAO;
	public void setCategoryDAO(CategoryDAO categoryDAO) {
		this.categoryDAO = categoryDAO;
	}
	@Override
	public String execute() throws Exception {
		Integer id = Integer.valueOf(ServletActionContext.getRequest().getParameter("id"));
		Category category = categoryDAO.getById(id);
		ServletActionContext.getRequest().setAttribute("category", category);
		return SUCCESS;
	}
}
 

 

hibernate部分我没有对象映射文件,即**.hbm.xml,而是用了注解的方式配置。但是依然用了hibernate.cfg.xml,其实该文件也可以不用写,可以写在applicationConfig.xml中。

因为在applicationConfig.xml做了这样的配置

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="configLocation" value="classpath:hibernate.cfg.xml"></property>
	</bean>

 所以spring配置会自动到classpath下找hibernate配置文件。

 

分享到:
评论

相关推荐

    第一个SSH手动整合程序

    这个"第一个SSH手动整合程序"是一个实用的教程,旨在帮助开发者了解如何将这三个框架集成到一个应用中,实现MVC(Model-View-Controller)架构的高效应用开发。 Spring框架是核心的依赖注入(Dependency Injection...

    第一个SSH整合doc文档

    在这个教程中,我们将学习如何手动配置SSH整合,并实现一个简单的功能,即用户在页面输入信息,然后将这些信息保存到MySQL数据库。 1. **Spring**:在SSH整合中,Spring作为核心框架负责管理应用的组件(对象),它...

    ssh整合例子及其他的实验

    这个"ssh整合例子及其他的实验"主题涵盖了如何在不同的IT环境中设置和使用SSH,以及进行相关的技术实验。 首先,SSH整合通常指的是将SSH与应用程序服务器如Spring、Struts或Hibernate等Java EE框架相结合,以便通过...

    SSH整合过程(图)

    SSH整合是Java开发中常见的一个技术实践,它指的是Spring、Struts和Hibernate三个开源框架的集成。这三种框架分别负责不同的职责:Spring作为应用上下文和依赖注入框架,管理对象的生命周期;Struts则处理MVC(Model...

    SSH整合SSh三大框架整合和excl导出

    SSH整合是指将Struts2、Hibernate3.2和Spring2.5这三大开源框架集成到一个项目中,以实现高效、灵活的Web应用开发。这三个框架各司其职,Struts2负责MVC(Model-View-Controller)模式中的控制层,Spring2.5则作为...

    SSH整合的jar包

    首先,SSH整合的jar包包含了这三个框架的核心库和其他相关依赖。这些jar文件是运行SSH应用的基础,它们提供了框架所需的功能和API。在解压缩后的文件中,你可能会看到如`spring-core.jar`、`struts2-core.jar`、`...

    ssh整合jar包

    标题中的"ssh整合jar包"指的是包含了这三个框架所需的核心库和其他依赖的jar文件集合,便于开发者快速构建基于SSH的项目。这个压缩包通常会包含各种版本匹配的jar,确保各个组件之间的兼容性。 在描述中提到的...

    ssh整合 简单分页

    1. **页面链接生成**:前端需要显示带有页码的导航链接,如“第一页”、“上一页”、“下一页”和“最后一页”。 2. **请求处理**:当用户点击分页链接时,服务器会接收到包含当前页码的请求参数。 3. **数据查询*...

    ssh整合 ssh整合步骤 三大框架整合

    首先,SSH整合的第一步是创建一个基于Web的工程,并添加Struts支持。Struts是MVC模式的一个实现,主要用于处理用户请求和展示结果。在创建项目后,需要导入Struts的相关库,以便能够编写Action类和配置struts-config...

    黑马SSH整合CRM项目

    项目中的CRM_01可能是项目的第一部分,涵盖了基础架构的搭建、数据库设计、主要模块的实现等内容。开发者可能需要了解如何配置SSH框架,创建实体类和DAO接口,编写Action类以及相关的视图(JSP或HTML)来展示数据。 ...

    SSH整合分页Demo入门

    在这个"SSH整合分页Demo入门"中,我们将深入理解如何在SSH框架下实现数据的分页展示,这对于大型Web应用来说是非常重要的功能,能够有效地管理大量数据并提高用户体验。 首先,我们需要了解SSH框架的基础知识。...

    ssh整合的所有jar包

    SSH整合指的是在Java Web开发中,使用Spring、Struts2和Hibernate这三个开源框架进行集成,构建企业级应用程序。这三个框架分别负责控制层、表现层和持久层,共同构成了一个强大的后端开发解决方案。 1. Spring框架...

    简单的SSH整合示例——用户登录功能

    **SSH整合概述** SSH(Spring、Struts2和Hibernate)是Java开发中常见的三大框架集成,用于构建企业级Web应用程序。Spring提供了强大的依赖注入(DI)和面向切面编程(AOP),Struts2作为MVC框架负责控制层,而...

    SSH整合OA项目

    SSH整合OA项目是一种基于Spring、Struts和Hibernate这三个开源框架集成的企业级应用开发方案。SSH分别代表了Spring的依赖注入和事务管理、Struts的MVC设计模式以及Hibernate的对象关系映射工具,它们共同构建了一个...

    SSH整合jar包

    综上所述,SSH整合是Java Web开发中常见的一种技术栈,通过合理利用Spring、Struts2和Hibernate的优势,可以构建出稳定、可维护的Web应用。同时,配合C3P0连接池,可以进一步优化数据库操作,提升整体系统的运行效率...

    ssh 整合连接池

    SSH整合连接池是一种在Java开发中优化数据库访问性能的技术,主要涉及到Spring、Struts和Hibernate这三个框架的集成,以及对数据库连接池的管理和使用。SSH是企业级Web应用开发的主流框架组合,其中Spring提供了强大...

    SSH整合的三种方式

    SSH整合的三种方式主要指的是将Spring、Struts和Hibernate这三个流行的Java开源框架集成到一起,以构建高效的企业级Web应用程序。下面将详细讲解这三种整合方法。 1. 使用Spring的`ActionSupport` 在Spring与...

    写的SSH整合第二个Simple

    在第二个Simple项目中,可能已经实现了对第一个简单示例的改进,例如优化了Action类的设计或增加了更复杂的业务流程。 其次,Spring框架是整个应用的核心,它负责管理和协调各个组件。Spring的依赖注入(DI)允许...

    java WEB SSH框架整合详解

    通过以上步骤,我们可以看到,SSH框架的整合并非简单的技术堆砌,而是需要对每个框架的功能和配置有深入理解。这不仅能够提高项目的整体性能,还能极大地简化代码结构,降低后期维护成本。希望本文能为Java Web...

Global site tag (gtag.js) - Google Analytics