• 代码、复制[置顶] 跑起来,第一个sshby小雨


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

        所用应的工具和环境。 

        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,一边拜乔帮主的果粉自以为是果粉,其实在乔帮主的眼里是不折不扣的叛徒。

  • 相关阅读:
    今日进度
    今日进度
    今日进度
    今日进度
    pandas连接MySQL和impala
    sql语句获取今天、昨天、近7天、本周、上周、本月、上月、半年数据
    Python报错 ValueError: arrays must all be same length
    Python 连接 impala
    Test
    Selective Search for Object Recognition
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3024753.html
Copyright © 2020-2023  润新知