eclipse ssh整合出现的那些bug
今天开始正式搞毕设了,生活依旧很忙,但一定要杜绝碌碌无为!
首先是其实我看书没有用,所以找了一个视频跟着从头做了一下,也就是把ssh环境搭好,也是花了很长时间啊,所以上学的时候一定要好好学习,好好敲代码啊,要还的。。。
废话不多说了,开始回忆过程。
1.创建web项目,导入jar包到webcontent/WEB-INF/lib。
2.前端我是不会搞的,这辈子不会搞得,难受,所以copy到we'b'conent
3.开始主题,创建一个UserAction类继承ActionSupport,写一个login方法
User类,变量uid,name,pwd等,并创建User.hbm.xml文档 uid为自动<generator class="native"/>
4.开始配置文件
4.1 struts.xml------------
<action name="user_*" class="userAction" method="{1}">
<result name="login">login.html</result>
4.2hibernate.cfg.xml-----------
<!-- 自动创表 -->
<property name="hibernate.hbm2ddl.auto">update</property>
因为里面没加这句话所以最后启动tomcat没报错也没自动建表
4.3 spring的配置文件,(配置文件都是可以自己起名字随便放位置的)但是名字一定要和web.xml文档里一致,血的教训啊
4.4 总的web.xml文档位置也是webcontent/WEB-INF/lib。
4.4.1 首先配置struts2的过滤器
<!-- Struts2的核心过滤器 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
4.4.2 spring的监听器及指定位置
<!-- 配置Spring的核心监听器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- 指定位置 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext-common.xml</param-value>
</context-param>
就是粗体字一定要和自己的spring配置文件名字一直啊
5开始整合
5.1spring与struts2整合
<bean id="userAction" class="cn.action.UserAction" scope="prototype"></property>
红字处一定要注意和自己的类名包名一致啊,其实大多数错误都是xml文件中路径搞错了
5.2spring与hibernate整合
5.2.1把hibernate中的数据驱动,连接信息都从hibernate的xml文档中copy到spring的xml文档中
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<!-- 数据库驱动 -->
<property name="driverClass" value="com.mysql.jdbc.Driver"></property>
<!-- 数据库连接信息 -->
<property name="jdbcUrl" value="jdbc:mysql:///db_homeaccount"></property>
<property name="user" value="root"></property>
<property name="password" value="1234"></property>
</bean>
红色字体还是要注意啊,不要随心所欲
5.2.2配置sessionFactory
<!-- 配置sessionFactory -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="configLocation" value="classpath:hibernate.cfg.xml">
</property>
</bean>
5.2.3事务配置
<!-- 事务配置 -->
<bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<tx:annotation-driven transaction-manager="transactionManager"/>
6.注入
6.1service注入action UserActon类中
private UserService userService;
public void setUserService(UserService userService) {
this.userService = userService;
}
6.2创建dao包,userdao接口,接口实现类userdaoimpl
6.3dao注入service
service类中
private UserDao userDao;
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
6.4daoimpl中加入hibernateTemplate
private HibernateTemplate hibernateTemplate;
public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
this.hibernateTemplate = hibernateTemplate;
}
6.5在spring配置文件中注入配置文件
<bean id="userAction" class="cn.action.UserAction" scope="prototype">
<property name="userService" ref="userService"></property>
</bean>
<bean id="userService" class="cn.service.UserService">
<property name="userDao" ref="userDaoImpl"></property>
</bean>
<bean id="userDaoImpl" class="cn.dao.UserDaoImdl">
<property name="hibernateTemplate" ref="hibernateTemplate"></property>
</bean>
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate5.HibernateTemplate">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
引号里面的内容一定要检查清楚,错误的根源。
7数据库创建好,部署到tomcat,启动服务器,看数据库中表自动创建了就说明配置好了