`
程硕tkggddm
  • 浏览: 18815 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

用eclipse搭建spring + hibernate +struts框架 ( 学习)

    博客分类:
  • SSH
 
阅读更多

[color=blue]用eclipse搭建spring  + hibernate +struts框架 ( 学习)[/color]


声明:本人刚学习SSH框架,如有不足之处,请大家谅解,提出,谢谢

Struts + Spring + Hibernate三者各自的特点都是什么?



Struts 的MVC设计模式可以使我们的逻辑变得很清晰,主要负责表示层的显示。

Spring 的IOC和AOP可以使我们的项目在最大限度上解藕。

hibernate的就是实体对象的持久化了, 数据库的封装。
表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。



表现层是传统的JSP技术。

中间层采用的是流行的Spring+Hibernate,为了将控制层与业务逻辑层分离,又细分为以下几种。



Web层,就是MVC模式里面的“C”(controller),负责控制业务逻辑层与表现层的交互,调用业务逻辑层,并将业务数据返回给表现层作组织表现,该系统的MVC框架采用Struts。



Service层(就是业务逻辑层),负责实现业务逻辑。业务逻辑层以DAO层为基础,通过对DAO组件的正面模式包装,完成系统所要求的业务逻辑。



DAO层,负责与持久化对象交互。该层封装了数据的增、删、查、改的操作。



PO,持久化对象。通过实体关系映射工具将关系型数据库的数据映射成对象,很方便地实现以面向对象方式操作数据库。



Spring的作用贯穿了整个中间层,将Web层、Service层、DAO层及PO无缝整合,其数据服务层用来存放数据。



一个良好的框架可以让开发人员减轻重新建立解决复杂问题方案的负担和精力;它可以被扩展以进行内部的定制化;并且有强大的用户社区来支持它。框架通常能很好的解决一个问题。然而,你的应用是分层的,可能每一个层都需要各自的框架。


现在开始搭建SSH:
第一步:
       用eclipse(开发工具)里创建Wwb项目,注意勾选能够产生web.xml文件。

第二步:
      导入jar包
     我的百度网盘分享链接http://pan.baidu.com/s/1bp1VBx9  是SSH所需要的jar包。

第三步:
      配置[/url]web.xml 的过滤器和  监听器

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>cssh</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  
  <!--配置过滤器  -->
  <filter>
	  <filter-name>hello</filter-name>
	  <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  </filter>
  <filter-mapping>
     <filter-name>hello</filter-name>
	 <url-pattern>/*</url-pattern>
  </filter-mapping>
  <!-- 配置监听器 -->
  <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>
</web-app>



第四步:
   在本项目中的src文件夹下新建struts.xml   头文件  为

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
     <struts>
   <!--定义一个包  --> 
   
    	<package name="user" namespace="/" extends="struts-default">
    	
    	<!-- 定义一个action,配置跳转信息 类似于
             Servlet@WebServlet("/IndexServlet")
    		class  对应自己写的action类,当不写method属性时,默认调用execute
    	 -->
    		<action name="login" class="userAction" method="login">
    			<result name="success">
    				/success.jsp
    			</result>
    		
    		</action>
    	
    	</package>
    
    </struts>


第五步:
    在自己的项目src目录中分层

     里面分为com.action,com.dao,com.service,com.model

    在com.action中创建一个UserAction继承ActionSupport
  

    package com.action;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;
import com.userservice.UserService;

public class UserAction extends ActionSupport {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	String name;
	String pwd;
	
	
	private UserService userService;
	public String login() throws Exception {
		
		String message=userService.login(name, pwd);
		HttpServletRequest request= ServletActionContext.getRequest();
		 request.setAttribute("message", message);
		return SUCCESS;
	}
	public UserService getUserService() {
		return userService;
	}
	public void setUserService(UserService userService) {
		this.userService = userService;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPwd() {
		return pwd;
	}
	public void setPwd(String pwd) {
		this.pwd = pwd;
	}
}



第六步: 在src 目录下创建hibernate.cfg.xml 

<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- 链接数据库  后面chengs是数据库的名字 -->
<property name="hibernate.connection.url">jdbc:mysql://192.168.99.100:3306/chengs</property>
<!-- 数据库驱动 com.mysql.jdbc.Driver -->
<property 
name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<!-- 数据库账号密码 -->
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">123456</property>

<!-- 根据schema更新数据表的工具 -->
<property name="hibernate.hbm2ddl.auto">update</property>
<!-- 显示SQL -->

<property name="hibernate.show_sql">true</property>
<!-- 数据表映射配置文件 -->
<mapping resource="com/model/Person.hbm.xml"/>
</session-factory>
</hibernate-configuration>


第七步:
  applicationContext.xml配置文件  同样要在src目录下创建

  具体内容为:

<?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:p="http://www.springframework.org/schema/p"  
    xmlns:aop="http://www.springframework.org/schema/aop"   
    xmlns:context="http://www.springframework.org/schema/context"  
    xmlns:jee="http://www.springframework.org/schema/jee"  
    xmlns:tx="http://www.springframework.org/schema/tx"  
    xsi:schemaLocation="    
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd  
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd  
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd  
        http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-4.0.xsd  
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd">
        <!-- id="userAction"  实例化对象的名字
			class="com.action.UserAction" 实例化对象的路径(包名类名)
			scope="prototype" 非单例
			name="userService" 实例化对象里面属性的名字
			ref="userService" 引用 -->
       <bean id="userAction" class="com.action.UserAction">
       
       	<property name="userService" ref="userService"/>
       </bean>
       <bean id="userService" class="com.userservice.UserServiceImpl">
       
       	<property name="userDao" ref="userDao"/>
       </bean>
        <bean id="userDao" class="com.dao.UserDaoImpl">
       
       	<property name="sessionFactory" ref="sessionFactory"/>
       </bean>
        <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
         <property name="configLocation" value="classpath:hibernate.cfg.xml"></property>
       </bean>
        
        </beans>

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics