ssh搭建

对于ssh的搭建,这里运行的环境是:MyEclipse10+tomcat7.0+mysql5.0版本。

而对于这三个框架来讲,对应的版本为struts2.0+spring2.5+hibernate3.2

首先是struts环境的搭建:

src目录下新建一个struts.xml文件,代码如下:

<!DOCTYPE struts PUBLIC 
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
	<package name="default" extends="struts-default" namespace="/">
		<action name="login" class="com.bd.action.LoginAction">
			<result name="success">/success.jsp</result>
		</action>
	</package>
</struts>

web.xml过滤实现如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <filter>
  	<filter-name>struts2</filter-name> 	<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
  </filter>
  <filter-mapping>
  	<filter-name>struts2</filter-name>
  	<url-pattern>/*</url-pattern>
  </filter-mapping>
  
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

引入自己所打包好strutsjar包,如下


这时,启动tomcat就会报如下的错误:


此时就可以运行成功了。至此struts环境也是搭建成功了。



接下来就是对hibernate环境进行搭建,这里用的是myeclipse工具进行的自动导入

这里个人习惯还是喜欢把这个hibernate.cfg.xml配置文件放在这个包下。


同时把这个HibernateSessionFactory也放在这个包下

点击finishhibernate项目环境也是搭建成功了。



之后是添加spring的环境,如下:

注:这里还要把Spring 2.5 Web Libraries这个包加进去,一共就是5个包

步,自己其实并没有改spring配置文件的目录

到了这步之后spring的具体环境也是搭建成功了。

注:这里的顺序是先添加了hibernate环境再搭建的spring环境,如果是先搭建spring文件,再搭建hibernate环境,那么在搭建hibernate环境的时候,又会有一点不同之处。这一点是需要自己注意的。

之后就是对数据库表的一个映射,如下:

注意,勾选以上几项。至于那个Update Hibernate configuration....可以勾选也可以不勾选,如果不勾选。后面可以进行手动配置。

选择主键方式。

再看hibernate的配置文件,因为勾选了那个选项,配置文件会有如下语句

<mapping resource="com/bd/bean/User.hbm.xml" />

手动配置如下:

之后加上相应的业务逻辑代码,注意的是,这篇文档只是教如何搭建环境,所以对于业务逻辑不会进行过多的解释。加入相应的业务逻辑代码后,src目录如下所示:

此时运行程序,会显示如下的错误信息:

此时问题出现的原因就是,就是应该在struts配置文件中进行配置。把Struts2action交给Spring来负责进行实例化。语句如下:

<constant name="struts.objectFactory" value="spring" />

之后程序运行时错误信息如下:

解决方法就是在struts包中还是加入之前删除的那个jar包。

struts-spring-plugin-2.06.jar

解决这一步后,运行服务器时,又会出现如下所示的错误:



这里原因就是没有在web.xml文件中,加入监听器。

加入如下代码:

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

在这步执行之后,服务器启动时又会出现下面的错误。

出错原因就是spring的配置文件加载错误,解决方法就是在web.xml文件中加入如下语句。

<context-param>
    <param-name>contextConfigLocation </param-name>
    <param-value>/WEB-INF/classes/applicationContext.xml </param-value>
</context-param>

此时重启服务器后,会有着如下的错误信息。

对于这个错误信息,就是框架版本的不兼容性的问题了。

主要是spring的asm-2.2.3.jar和Hibernate的asm.jar冲突解决方法就是删除项目工作区间的asm-2.2.3.jar这个包。同时在引用的jar包中也进行删除,然后重新部署在tomcat中。

但走到这一步后,还是会出现这样的一个错误,这里的原因就是spring的配置文件的原因,

它这里的错误提示为:

class path resource [hibernate.cfg.xml] cannot be resolved to URL because it does not exist

spring的配置文件中,有一段代码如下所示:

<bean id="sessionFactory"
<span style="font-family:微软雅黑;">           </span>class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<span style="font-family:微软雅黑;">           </span><property name="configLocation"
		value="classpath:hibernate.cfg.xml">
<span style="font-family:微软雅黑;">           </span></property>
</bean>

而之前是把hibernate的配置文件是放在com.bd.common目录下,所以需要改为如下所示:

value="classpath:com\bd\common\hibernate.cfg.xml">
注意:这里是反斜杠。


PS:到了这里之后,相应的程序其实就可以运行了。刚开始感觉这个环境搭建的还算是比较复杂的,特别是每次碰到一个bug的时候,就算百度都还是有种无从下手的感觉。总是会陷入改了又错,改了又错的一种尴尬中。当时当自己真正的能够静下心来琢磨这些东西的时候,其实感觉所有的问题慢慢的都是可以解决的。所以,就算碰到了bug,也不要心烦气躁,慢慢去改,慢慢去做。只要你肯下功夫,肯定会有收获的。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值