`
sudalyl
  • 浏览: 100557 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

SSH整合实例

阅读更多

SSH的学习已经有一段时间了,今天心血来潮做了个简单的注册页面的整合,下面给大家讲讲我是怎么做的吧,有缺点还请大家多多指教啊。

1.新建一个Web Project:

2.为Project增加Struts功能:
这里面需要选择的包有5个,除了图中的包以外还有一个Spring3.0 web Libraries.点击next后,选择spring配置文件的放置地点,我选择把它放到了WEB-INF下。

3.为Project增加Spring功能:

4.为Project增加Hibernate功能:

这边我们只选择一个包,就是hibernate的核心包。 之后选择第二个单选按钮,然后我们不再创建新的Spring配置,而是使用已经存在的Spring配置文件,SessionFactory Id:就是sessionFactory不改了。之后选择数据库时,使用了我事先配置好的mysql数据库。再点击Next,会出现一个Create SessionFactory界面,我们不勾选,直接Finish。

5.切换到Myeclipse Database Exploer界面,使用Hibernate反向工程。

在第一幅图的table2上右击,选择Hibernate的反向工程,然后出现第二幅图的界面,勾选情况如图,下一步后出现第三幅图,我们给ID那个设置为Native,目的是表述向数据库中插入一条记录,数据表主键是从哪里来的,native表示由数据库提供。之后下一步默认就好,点击完成。然后我们把自动生成的com.suda.orm中的Table2.java修改为User.java,同时在Table2.hbm.xml中修改对应的地方。

6.新建一个package,com.suda.dao。在这个里面我们创建一个接口,UserDao,和一个接口的实现类
Java代码 
  1. package com.suda.dao;  
  2.   
  3. import com.suda.orm.User;  
  4.   
  5. public interface UserDao {  
  6.     public void save(User user);  
  7. }  
 
Java代码 
  1. package com.suda.dao;  
  2.   
  3. import org.springframework.orm.hibernate3.support.HibernateDaoSupport;  
  4.   
  5. import com.suda.orm.User;  
  6.   
  7. import com.suda.dao.UserDao;  
  8.   
  9. public class UserDaoImpl extends HibernateDaoSupport implements UserDao{  
  10.   
  11.     public void save(User user) {  
  12.         try {  
  13.             this.getHibernateTemplate().saveOrUpdate(user);  
  14.         } catch (Exception e) {  
  15.             e.printStackTrace();  
  16.         }  
  17.           
  18.     }  
  19.       
  20. }  
 我们的实现类我们要让他继承HibernateDaoSupport类。

7.创建Action,Form,JSP
我给她命名为registerForm,使用的是Dynamic FormBean。然后创建了两个属性,username,password,JSP页面就使用默认创建在form/register.jsp。下一步也默认。

8. 配置struts-config.xml文件,将Struts交给Spring管理
 a) 加入插件 (message-resources标记下)
Xml代码 
  1. <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">  
  2.   
  3.     <set-property property="contextConfigLocation"   
  4.   
  5.               value="/WEB-INF/applicationContext.xml" />  
  6.   
  7. </plug-in>  
 
 b) 将Action类移交(message-resources标记上)

Xml代码 
  1. <controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"/>  
 
9.编写我们的Aciont处理方法:

 

Java代码 
  1. public class RegisterAction extends Action {  
  2.     UserDao userDao;  
  3.     User user=new User();  
  4.     public ActionForward execute(ActionMapping mapping, ActionForm form,  
  5.             HttpServletRequest request, HttpServletResponse response) {  
  6.         DynaActionForm registerForm = (DynaActionForm) form;// TODO Auto-generated method stub  
  7.         String username=registerForm.getString("username");  
  8.         String password=registerForm.getString("password");  
  9.         ActionMessages errors=new ActionMessages();  
  10.         while(true){  
  11.             if (username.length()==0||password.length()==0) {  
  12.                 errors.add("empty",new ActionMessage("content_empty"));  
  13.                 break;  
  14.             }  
  15.             if (username.length()>8) {  
  16.                 errors.add("username",new ActionMessage("username_wrong"));  
  17.             }  
  18.             if (password.length()<6) {  
  19.                 errors.add("password",new ActionMessage("password_wrong"));  
  20.             }  
  21.             break;  
  22.         }  
  23.         this.saveErrors(request, errors);  
  24.         if (errors.isEmpty()) {  
  25.             user.setUsername(username);  
  26.             user.setPassword(password);  
  27.             userDao.save(user);  
  28.             return mapping.findForward("success");  
  29.         }else {  
  30.             return mapping.getInputForward();  
  31.         }  
  32.     }  
  33.     public UserDao getUserDao() {  
  34.         return userDao;  
  35.     }  
  36.     public void setUserDao(UserDao userDao) {  
  37.         this.userDao = userDao;  
  38.     }  
  39.   
  40. }  

 

 

 

10.在Struts-config.xml中增加跳转:
Xml代码 
  1. <global-forwards >  
  2.   <forward name="success" path="/form/success.jsp" />  
  3.   </global-forwards>  
 

 

 

11.修改Spring配置文件:
注册我们的bean:
Xml代码 
  1. <bean id="userDaoImpl" class="com.suda.dao.UserDaoImpl">  
  2.             <property name="sessionFactory" ref="sessionFactory"/>  
  3. </bean>  
  4.           
  5. <bean name="/register" class="com.suda.struts.action.RegisterAction">  
  6.              <property name="userDao">  
  7.                  <ref bean="userDaoImpl"/>  
  8.              </property>  
  9. </bean>  
 这个代码的作用我就不多说了,我的那个Spring与Struts整合的日志中有说明。

12.修改web.xml,增加UTF-8过滤器,添加Listener:
Java代码 
  1. <filter>  
  2.      <filter-name>encodingFilter</filter-name>  
  3.      <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
  4.      <init-param>  
  5.           <param-name>encoding</param-name>  
  6.           <param-value>utf-<span
    0
    0
    分享到:
    评论

相关推荐

Global site tag (gtag.js) - Google Analytics