SSH框架学习

来源:m.fanwen118.com时间:2021.9.19

1 Spring框架提供了与其他技术整合的API(整合API可以引用Struts,Hibernate的功能,使用更简洁);

2 Spring框架提供了一个容器,该容器可以创建和管理程序中的组件对像(Spring核心); 3 Spring框架容器提供了IOC特性(可以降低两个组件对象的耦合度)

4 Spring框架容器提供了AOP特性(可以将事务等共通功能以低耦合的方式作用到原功能组件上)。

Spring框架的IOC特性

1 IOC Inverse of Controller称为控制反转,控制:指的是组件对象的创建,初始化,销毁以及关系指定等逻辑。

2 DI Dependency Injection成为依赖注入,依赖注入时Spring实现IOC的技术途径,依赖注入主要分为set方式注入和构造方法注入。

Set注入的格式:

<property name="属性名" ref="要注入的Bean对象id值">

</property>

构造器注入格式:

<construtor-arg index="指定参数索引,从0开始">

ref="要注入的Bean对象的id值"

</construtor-arg>

Spring框架中的AOP概念及其作用

AOP(面向方面编程)

主要概念:

1 方面(Aspect)

方面封装了共通处理,可以切入到其他目标组件方法上。

2 切入点(Pointcut)

用于指定那些组件作为目标,利用一个特殊表达式。Within(类型)

3 通知(Advice)

用于指定方面和目标之间的作用时机。

通知的类型有:

前置通知(<aop:before>)--------先执行方面,再执行目标。

后置通知(<aop:afterReturning>)--------先执行目标,目标方法没抛出异常,在执行方面。

最终通知(<aop:after>)--------先执行目标,目标有无异常都执行方面。

环绕通知(<aop:around>)--------先执行方面前半部分,再执行目标,再执行方面后半部分

异常通知(<aop:afterThrowing>)--------先执行目标,发生异常后再执行方面

AOP作用:AOP是以OOP为基础,用于改善程序组件对象之间的结构,降低耦合度,以方面组件为关注点,方面组件用于封装共同处理逻辑,将来可以别其他目标组件调用,实现了共同处理和目标组件之间的解耦。

Spring MVC学习

Spring MVC主要的构成组件

--DispatcherServlet 主控制器(C)

--HandlerMapping 根据请求定位Controller

--Controller 业务控制器等价于Action

--ModeAndView 封装了模型数据和视图标识

--ViewResolver 视图解析器,定位视图组件生成响应界面(等于Result)

根据web.xml文件理解Spring MVC每个组件的功能以及更个请求的处理过程 <servlet>

<servlet-name>springmvc</servlet-name>

<servlet-class>

org.springframework.web.servlet.DispatcherServlet

</servlet-class>

<init-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:applicationContext.xml</param-value>

</init-param>

</servlet>

<servlet-mapping>

<servlet-name>springmvc</servlet-name>

<url-pattern>*.do</url-pattern>

</servlet-mapping>

<listener>

<listener-class>

org.springframework.web.context.ContextLoaderListener

</listener-class>

</listener>

这个配置文件是SpringMVC和tomcat的接口部分,首先是定义一个servlet对象,这里就是SpringMVC中的DispatcherServlet,主要的作用就是请求的分发,同时在<servlet-mapping>中定义了对应的URL映射地址,这个URL映射地址指定了servlet需要处理的HTTP请求,<init-param>定义servlet在初始化时的参数的配置用来指定Spring IOC容器读取Bean定义的XML文件的路径,最后定义一个监听器,这个监听器是与Web服务器的生命周期向关联的,由ContextLoaderListener监听器负责完成IOC容器在Web环境中的启动过程。

Spring MVC主要处理流程

--客户端发出mvc请求,请求交给DispatcherServlet主控制器处理

--主控制器会调用HandlerMapping组件,根据请求名找到相应的Controller组件

--主控制器调用Controller组件,处理请求,处理完毕返回一个ModeAndView对象(Controller也可以调用DAO等组件)

--主控制器调用ViewResolver解析ModeAndView对象,定位View组件并解析生成响应内容

--将响应内容输出给客户端

Hibernate学习

什么是Hibernate?

Hibernate是数据访问层的框架,对JDBC进行了封装,是针对数据访问层提出的一套面向对象的解决方案,Hibernate允许我们直接访问实体对象,她会将这种访问自动转化为SQL并执行,从而实现间接访问数据库的效果,提高我们数据库开发的效率。

Hibernate设计原理

Hibernate采用ORM设计思想,对JDBC进行封装。

ORM(Object Relation Mapping):对象关系映射,即java实体对象和关系数据库的映射。

这样的映射关系确保我们在使用Hibernate开发过程中直接访问实体对像,然后它会根据对象和关系数据库的映射关系(类中属性和数据库表中字段关系),自动转换为SQL并执行,这样实现访问数据库的目的。

Hibernate的使用步骤

hibernate.cfg.xml:主配置文件,主要用来设置数据库的连接参数以及hibernate框架的系统参数等。

实体类名.hbm.xml:映射关系文件,用来配置实体类和数据库关系表之间的关系,以及实体中属性和表中字段的关系。

知道了这两个配置文件的作用,Hibernate在实际应用中,首先导包,给项目中导入Hibernate的核心包,然后创建hibernate.cfg.xml文件,在配置文件中设置数据库连接参数和Hibernate框架的参数,创建实体类,然后创建实体类名.hbm.xml配置文件, 这里需要注意hbm.xml配置文件必须和实体类名同名,并且在同一路径下,然后再主配置文件hibernate.cfg.xml文件中追加hbm.xml的配置,配置正确后只需要调用需要的hibernate的API,可以实现数据库的增删改查操作。

Hibernate一级缓存

概念:Hibernate在创建Session对象时,会自动的给创建的对象分配一块缓存区,该区域是给Session用来缓存数据的,是由Session负责管理的,这就是一级缓存,也称为Session级缓存。

特点:1 每一个Session都有自己的缓存区,即一级缓存时单个Session独享的。 2 一个Session不能访问其他Session的缓存区,即一级缓存不能交叉访问。 3 访问数据库时,Hibernate会优先向缓存区查找要访问数据,如果缓存去存在数据,则直接返回缓存中的数据,如果缓存去不存在数据,在向数据库查找并返回,同时将查出的数据放到缓存区,提高查询效率。


第二篇:搭建SSH框架总结 6200字

搭建SSH框架总结

文章分类:Java编程

SSH框架搭建

作者:卢海

一、框架搭建基础:

a) Eclipce来发环境

b) 相应数据库连接Jar包

二、具体搭建步奏

a) 在eclipce环境中导入Spring框架

选择导入包时要选择Spring的核心包Aop包相应的ORM映射包和Web

b) 在eclipce环境中导入Hibernate框架

导入Hibernate对应的核心包全部导入选择何时的数据库连接方式

注意:应在MyEclicpeDatabaseExplorer中配置相应的数据库

导入Hibernate时注意选择使用Spring配置文件进行配置

c) 在eclipce环境中导入Structs框架

注意Structs应导入Structs1.2或更高版本

(注意:必须按以上顺序导入)

d) 删除asm2.2.3.jar

e) 导入commons-pool.jar连接库

导入方法在eclipce中窗口-首选项-MyEclicpe-ProjectCapabilities 选项中

Hibernate2中的commons-pool.jar 复制到项目的lib目录下

f) 将log4j.properties文件导入

g) 在Web.xml中配置OpenSessionInView模式

代码如下

<filter>

<filter-name>osiv</filter-name>

<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>osiv</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

编写设置字符编码的Filter

Web.xml配置如下

<filter>

<filter-name>setEncode</filter-name>

<filter-class>com.accp.hr.filters.SetEncodingFilters</filter-class>

</filter>

<filter-mapping>

<filter-name>setEncode</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

具体Filter类编码如下:

package com.accp.hr.filters;

import java.io.IOException;

import javax.servlet.Filter;

import javax.servlet.FilterChain;

import javax.servlet.FilterConfig;

import javax.servlet.ServletException;

import javax.servlet.ServletRequest;

import javax.servlet.ServletResponse;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class SetEncodingFilters implements Filter {

private String encode;

public void setEncode(String encode) {

this.encode = encode;

}

public void destroy() {

this.encode=null;

}

public void doFilter(ServletRequest servletRequest, ServletResponse

servletResponse, FilterChain chain) throws IOException, ServletException {

HttpServletRequest request=(HttpServletRequest) servletRequest;

HttpServletResponse response=(HttpServletResponse) servletResponse; request.setCharacterEncoding(encode);

response.setCharacterEncoding(encode);

chain.doFilter(servletRequest, servletResponse);

}

public void init(FilterConfig config) throws ServletException {

this.encode=config.getInitParameter("encode");

if(encode==null){

this.encode="utf-8";

}

}

}

h) 配置Hibernate相关内容:

在Hibernate配置文件中找到如下代码并加入以下属性

<property name="hibernateProperties">

<props>

<prop key="hibernate.dialect">

org.hibernate.dialect.MySQLDialect

</prop>

<prop key="hibernate.show_sql">true</prop>

<prop key="hibernate.format_sql">true</prop>

<prop key="hibernate.hbm2ddl.auto">update</prop> </props>

</property>

I) 配置Struts和Hibernate整合相关内容

在Web.xml中加入如下内容

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>/WEB-INF/classes/applicationContext*.xml</param-value>

</context-param>

<listener>

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

</listener>

在Struts配置文件中加入如下内容

注意在<message-resource>标签以上加入如下代码

<controller

processorClass="org.springframework.web.struts.DelegatingRequestProcessor"></controller>

J)加入验证框架

在Structs配置文件下加入如下内容(一般加载尾标签前)

<plug-in

className="org.apache.struts.validator.ValidatorPlugIn">

<set-property

value="/WEB-INF/validator-rules.xml,/WEB-INF/validate.xml"

property="pathnames"/>

</plug-in>

注意在相应目录下应有对应的validate.xml文件,文件名应与所配置的文件名一致,且应有验证文件

一:myeclipse 搭建

1.添加spring支持。

MyEclipse-->Add Spring...-->把AOP Core Web 三个libraries 复选上。 下一步 完成。

2.添加hibernate支持。

首先先打开myeclipse hibernate 视图 建立一个数据库连接。根据不同的数据驱动建立不同的数据库连接。

MyEclipse-->Add Hibernate...--> 根据需要 一步步完成。

3. 添加struts支持。

然后在web.xml文件里

<context-param>

<param-name>contexConfigLocation</param-name>

<param-value>/WEB-INF/applicationContext.xml</param-value>

</context-param>

<listener>

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>

再在 struts-config.xml中

<controller

processorClass=\"org.springframework.web.struts.DelegatingRequestProcessor\"> </controller>

这个时候加载项目会报一个确实pool包的错误。 然后到构建路径里去添加起来。

这时候 框架基本搭建好了。

eclipse 搭建SSH步骤

1.导入驱动包。。struts、spring、hibernate的包和数据库连接的驱动包。

2.配置 xml文件。。

3.添加struts-config.xml文件 其中涉及到引用dtd文件

4.添加applicationContext.xml文件 胚子该文件。。(1.连接。2 sessionfactory 3,假如连接字符是写在属性文件里,还要配

属性文件连接的bean)

5.实体映射用到hibernate的插件。(注意表得有主键,不然生成的xml文件有错。)

6.写dao类 biz类 action等

7 写JSP文件。

用eclipse搭建 主要得熟悉3个配置文件的配置。(web.xml 、struts-config.xml、搭建SSH框架 基本步骤

文章分类:Java编程

一:myeclipse 搭建

1.添加spring支持。

MyEclipse-->Add Spring...-->把AOP Core Web 三个libraries 复选上。 下一步 完成。

2.添加hibernate支持。

首先先打开myeclipse hibernate 视图 建立一个数据库连接。根据不同的数据驱动建立不同的数据库连接。

MyEclipse-->Add Hibernate...--> 根据需要 一步步完成。

3. 添加struts支持。

然后在web.xml文件里

<context-param>

<param-name>contexConfigLocation</param-name>

<param-value>/WEB-INF/applicationContext.xml</param-value>

</context-param>

<listener>

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

</listener>

再在 struts-config.xml中

<controller

processorClass="org.springframework.web.struts.DelegatingRequestProcessor">

</controller>

这个时候加载项目会报一个确实pool包的错误。 然后到构建路径里去添加起来。

这时候 框架基本搭建好了。

eclipse 搭建SSH步骤

1.导入驱动包。。struts、spring、hibernate的包和数据库连接的驱动包。

2.配置 xml文件。。

3.添加struts-config.xml文件 其中涉及到引用dtd文件

4.添加applicationContext.xml文件 胚子该文件。(1.连接。。2 sessionfactory 3,假如连接字符是写在属性文件里,还要配

属性文件连接的bean)

5.实体映射用到hibernate的插件。(注意表得有主键,不然生成的xml文件有错。)

6.写dao类 biz类 action等

7 写JSP文件。

用eclipse搭建 主要得熟悉3个配置文件的配置。(web.xml 、

struts-config.xml、applicationContext.xml)

更多类似范文
┣ 学习 1500字
┣ 学习 2600字
┣ 学习 600字
┣ 更多学习范文
┗ 搜索类似范文