代码、复制-[置顶] 跑起来,第一个ssh-by小雨

本篇文章是一篇关于代码、复制-的帖子

    所用应的工具和环境。 

    jdk6+myeclipse6.5+tomcat6+mysql5+spring2.0+hibernate3+struts2 

    好了,开始我们的第一个ssh2之旅吧。 

    首先先分析一下我们的第一个ssh2项的目求需,单简的说就是有一张表单,让你填写用户名和密码,交提后存入数据库。就这么单简,呵呵。 

    第一步:。

    我们首先建新一张mysql数据表 

    sql如下 

    CREATE TABLE mytest.users ( 

   id INT NOT NULL, 

   username VARCHAR(50), 

   password VARCHAR(50), 

  PRIMARY KEY (id) 

    数据表创建好后构结如下: 

     

    当然我已有几天数据添加进去了 

     

    第二步

     

    开打myeclipse,建新一个web项目,命名为ssh2-2, java ee标准我们择选5,如图 

     

    

    第三步 务必心小的一步

    

     

    入导ssh2的各个jar,步调如下: 

    选中前当的项目后,点击菜单烂的myeclipse---project capablities----add hibernate项,跳出如图 

     

    务必按照图示择选,尤其是copy checkde……一项,然后点击next,默许next,去掉specify database……复选框,next,去掉create session……复选框,finish。 

    再次选中选中前当的项目后,点击菜单烂的myeclipse---project capablities----add spring项,跳出如图 

     

    然依务必按照如是择选,jar文件择选如下5个: 

     

     

    点击next, 

    以后按下择选,务必, 

     

    next后finsh可即。 

    然后入导struts2的jar 

    如下5个放到lib下 

     

    然后放入我们的数据库动驱jar mysql-connector-java-5.0.8-bin.jar 没得话附件中有 

    至此,包都入导毕完 

    第四步

     

    配置web.xml 代码如下 注意释注: 

    

Xml代码   复制代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app version="2.5"    
  3.     xmlns="http://java.sun.com/xml/ns/javaee"    
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    
  5.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee    
  6.     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
  7.        
  8.             <!-- struts2的惯例配置 -->  
  9.     <filter>  
  10.         <filter-name>struts2</filter-name>  
  11.         <filter-class>  
  12.             org.apache.struts2.dispatcher.FilterDispatcher   
  13.         </filter-class>  
  14.     </filter>  
  15.     <filter-mapping>  
  16.         <filter-name>struts2</filter-name>  
  17.         <url-pattern>/*</url-pattern>  
  18.     </filter-mapping>  
  19.        
  20.         <!--  在web用应启动是主动构成一个spring容器 -->  
  21.     <listener>    
  22.         <listener-class>  
  23.             org.springframework.web.context.ContextLoaderListener   
  24.         </listener-class>  
  25.     </listener>  
  26.   <welcome-file-list>  
  27.     <welcome-file>index.jsp</welcome-file>  
  28.   </welcome-file-list>  
  29. </web-app>  

    第五步:

     

    从视图层手入;在webroot目录下建新一个save.jsp文件 

    如下代码; 

    

Jsp代码   复制代码
  1. <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>   
  2. <%@ taglib prefix="s" uri="/struts-tags" %>   
  3.   
  4. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">   
  5. <html>   
  6.   <head>   
  7.        
  8.     <title>My JSP 'save.jsp' starting page</title>   
  9.   
  10.   
  11.   </head>   
  12.      
  13.   <body>   
  14.     <s:form action='saveUser'>   
  15.     <s:textfield name="user.username" label="用名"></s:textfield>   
  16.     <s:textfield name="user.password" label="密码"></s:textfield>   
  17.         <s:submit></s:submit>   
  18.     </s:form>   
  19.   </body>   
  20. </html>  

    接下去因势利导,天然开辟action,及控制层 

    建新包com.test.action.user 

    建新一个SaveUserAction.java 代码步初如下: 

    

Java代码   复制代码
  1. package com.test.action.user;   
  2.   
  3. import com.opensymphony.xwork2.ActionSupport;   
  4. import com.test.bean.User;   
  5.   
  6. public class SaveUserAction extends ActionSupport {   
  7.   
  8.     private User user;   
  9.   
  10.     public User getUser() {   
  11.         return user;   
  12.     }   
  13.     public void setUser(User user) {   
  14.         this.user = user;   
  15.     }   
  16.     @Override  
  17.     public String execute() throws Exception    
  18.     {   
  19.   
  20.         return SUCCESS;   
  21.     }      
  22. }  

    于是,天然我们要建新一个bean 

    建新包com.test.bean 建新User.java 

    

Java代码   复制代码
  1. package com.test.bean;   
  2.   
  3. public class User {   
  4.   
  5.     private Integer id;   
  6.     private String username;   
  7.     private String password;   
  8.     public Integer getId() {   
  9.         return id;   
  10.     }   
  11.     public void setId(Integer id) {   
  12.         this.id = id;   
  13.     }   
  14.     public String getUsername() {   
  15.         return username;   
  16.     }   
  17.     public void setUsername(String username) {   
  18.         this.username = username;   
  19.     }   
  20.     public String getPassword() {   
  21.         return password;   
  22.     }   
  23.     public void setPassword(String password) {   
  24.         this.password = password;   
  25.     }   
  26.        
  27. }  

    好了,在现我们先把控制层的action放在这里,开辟业务层和速决层(DAO) 

    建新包com.test.dao 

    建类UserDAO.java 

    代码如下:

    

Java代码   复制代码
  1. package com.test.dao;   
  2.   
  3. import java.util.List;   
  4.   
  5. import com.test.bean.User;   
  6.   
  7. public interface UserDAO    
  8. {   
  9.            
  10.     public void saveUser(User user);   
  11.        
  12.     public void removeUser(User user);   
  13.        
  14.     public User findUserById(Integer id);   
  15.        
  16.     public List<User> findAllUsers();   
  17.        
  18.     public void updateUser(User user);   
  19. }  

    这是一个接口 

    在开辟dao的实现类 

    建新包com.test.dao.impl 

    建类UserDAOImpl.java 

    代码: 

    

Java代码   复制代码
  1. package com.test.dao.impl;   
  2.   
  3. import java.util.List;   
  4.   
  5. import org.springframework.orm.hibernate3.support.HibernateDaoSupport;   
  6.   
  7. import com.test.bean.User;   
  8. import com.test.dao.UserDAO;   
  9. /**  
  10.  *   
  11.  * @author Administrator  
  12.  *  这个dao试用了hibernate的数据库操作语句  
  13.  */  
  14. public class UserDAOImpl extends HibernateDaoSupport implements UserDAO {   
  15.   
  16.     /*  
  17.      * 取获有所数据  
  18.      */  
  19.     public List<User> findAllUsers() {   
  20.         String hql = "from User user order by user.id desc";   
  21.         return (List<User>) this.getHibernateTemplate().find(hql);   
  22.     }   
  23.   
  24.     /*  
  25.      * 取获指定的数据  
  26.      */  
  27.     public User findUserById(Integer id) {   
  28.         User user = (User) this.getHibernateTemplate().get(User.class, id);   
  29.         return user;   
  30.     }   
  31.   
  32.     public void removeUser(User user) {   
  33.   
  34.         this.getHibernateTemplate().delete(user);   
  35.     }   
  36.   
  37.     public void saveUser(User user) {   
  38.   
  39.          this.getHibernateTemplate().save(user);   
  40.     }   
  41.   
  42.     public void updateUser(User user) {   
  43.   
  44.         this.getHibernateTemplate().update(user);   
  45.     }   
  46.   
  47. }  

    好了,数据速决层(dao)开辟好了,按次序,在现该应开辟业务层了, 

    建新包com.test.service 

    建类UserService.java 

    代码: 

    

Java代码   复制代码
  1. package com.test.service;   
  2.   
  3. import java.util.List;   
  4.   
  5. import com.test.bean.User;   
  6.   
  7. public interface UserService    
  8. {   
  9.         public List<User> findAll();   
  10.            
  11.         public void save(User user);   
  12.            
  13.         public void delete(User user);   
  14.            
  15.         public User findById(Integer id);   
  16.            
  17.         public void update(User user);   
  18. }  

    这是一个接口类 

    然后写实现类 

    建新包 

    com.test.service.impl 

    建类 

    UserServiceImpl.java 

    

Java代码   复制代码
  1. package com.test.service.impl;   
  2.   
  3. import java.util.List;   
  4.   
  5. import com.test.bean.User;   
  6. import com.test.dao.UserDAO;   
  7. import com.test.service.UserService;   
  8.   
  9. public class UserServiceImpl implements UserService {   
  10.   
  11.     private UserDAO userDao;   
  12.        
  13.     public UserDAO getUserDao() {   
  14.         return userDao;   
  15.     }   
  16.   
  17.     public void setUserDao(UserDAO userDao) {   
  18.         this.userDao = userDao;   
  19.     }   
  20.          //服务层的法方    
  21.        
  22.     public void delete(User user)   
  23.     {   
  24.          this.userDao.removeUser(user);   
  25.     }   
  26.   
  27.     public List<User> findAll() {   
  28.         return this.userDao.findAllUsers();   
  29.     }   
  30.   
  31.     public User findById(Integer id) {   
  32.            
  33.         return this.userDao.findUserById(id);   
  34.     }   
  35.   
  36.     public void save(User user)    
  37.     {   
  38.         this.userDao.saveUser(user);   
  39.     }   
  40.   
  41.     public void update(User user)    
  42.     {   
  43.         this.userDao.updateUser(user);   
  44.     }   
  45.   
  46. }  

    业务和速决层都开辟好了,在现我们回到控制层action 

    修改action的代码如下: 

    

Java代码   复制代码
  1. package com.test.action.user;   
  2.   
  3. import com.opensymphony.xwork2.ActionSupport;   
  4. import com.test.bean.User;   
  5. import com.test.service.*;   
  6. public class SaveUserAction extends ActionSupport {   
  7.   
  8.     private User user;   
  9.     private UserService service;   
  10.     public UserService getService() {   
  11.         return service;   
  12.     }   
  13.     public void setService(UserService service) {   
  14.         this.service = service;   
  15.     }   
  16.     public User getUser() {   
  17.         return user;   
  18.     }   
  19.     public void setUser(User user) {   
  20.         this.user = user;   
  21.     }   
  22.     @Override  
  23.     public String execute() throws Exception    
  24.     {   
  25.         this.service.save(this.user);   
  26.         return SUCCESS;   
  27.     }      
  28. }  

    修改struts.xml 

    如下 

    

Xml代码   复制代码
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE struts PUBLIC   
  3.     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"   
  4.     "http://struts.apache.org/dtds/struts-2.0.dtd">  
  5.        
  6.     <struts>  
  7.             <package name="user" extends="struts-default">  
  8.            
  9.         <action name="saveUser" class="saveUserAction">  
  10.             <result name="success" type="redirect">listUser.action</result>  
  11.             <result name="input">/saveUser.jsp</result>  
  12.         </action>  
  13.        
  14.     </package>  
  15.     </struts>  

    至此,我们已开辟好了一个典范的mvc项目,在现的任务是将strust2和hibernate都放入spring容器理管, 

    在现我们的项目构结如下: 

     

    然后修改 applicationContext.xml 

    代码如下 注意释注 

    

Xml代码   复制代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans  
  3.     xmlns="http://www.springframework.org/schema/beans"  
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  5.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">  
  6.                
  7.             <!-- 配置数据源 -->  
  8.             <!-- 一下别分配置了 数据库动驱 数据库路径 用户名 密码等 -->  
  9.     <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">  
  10.             <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>  
  11.             <property name="url" value="jdbc:mysql://localhost:3306/mytest"></property>  
  12.             <property name="username" value="root"></property>  
  13.             <property name="password" value="123456"></property>  
  14.             <property name="maxActive" value="100"></property>  
  15.             <property name="maxIdle" value="30"></property>  
  16.             <property name="maxWait" value="500"></property>  
  17.             <property name="defaultAutoCommit" value="true"></property>  
  18.     </bean>          
  19.        
  20.               <!-- 一下配置sessionFactory  这个货色曾经是在hibernate中义定的 如今交给了spring理管 -->  
  21.     <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
  22.             <property name="dataSource" ref="dataSource"></property>  
  23.             <property name="hibernateProperties">  
  24.                     <props>  
  25.                         <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>  
  26.                         <prop key="hibernate.show_sql">true</prop>  
  27.                     </props>  
  28.             </property>  
  29.             <property name="mappingResources">  
  30.                     <list>  
  31.                         <value>com/test/bean/User.hbm.xml</value>  
  32.                     </list>  
  33.             </property>      
  34.     </bean>  
  35.        
  36.                  <!-- 以下使一些用到的类 在用应类中均没有实例化这个类,都交给了spring理管  -->  
  37.     <!-- DAObean -->  
  38.     <bean id="userDao" class="com.test.dao.impl.UserDAOImpl" scope="singleton">  
  39.         <property name="sessionFactory" ref="sessionFactory"></property>  
  40.     </bean>  
  41.     <!-- DAObean -->    
  42.        
  43.     <bean id="userService" class="com.test.service.impl.UserServiceImpl">  
  44.         <property name="userDao" ref="userDao"></property>  
  45.     </bean>  
  46.        
  47.     <bean id="saveUserAction" class="com.test.action.user.SaveUserAction">  
  48.         <property name="service" ref="userService"></property>  
  49.     </bean>  
  50.        
  51.        
  52. </beans>  

    


好了 到此为止,ssh2的整合已完成了,布发后开启服务器吧, 

不对,服务器开启后有常异 


这里是包冲突问题 
到项的目lib目录下, 

 
删除选中的jar可即 
ok了 可以测试了 
http://localhost:8080/ssh2-2/save.jsp

 

 

    来自http://www.360doc.com/content/09/0817/15/219800_4990487.shtml

文章结束给大家分享下程序员的一些笑话语录:  一边用着越狱的ip,一边拜乔帮主的果粉自以为是果粉,其实在乔帮主的眼里是不折不扣的叛徒。

posted @ 2013-04-16 20:47  坚固66  阅读(214)  评论(0编辑  收藏  举报