SSH2环境搭建详解编程语言

一、创建SSH2项目,导入Struts2并测试。

SSH2环境搭建详解编程语言

 

SSH2环境搭建详解编程语言

SSH2环境搭建详解编程语言

SSH2环境搭建详解编程语言

SSH2环境搭建详解编程语言

 

web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="3.0"  
    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_3_0.xsd"> 
  <display-name></display-name>     
  <welcome-file-list> 
    <welcome-file>index.jsp</welcome-file> 
  </welcome-file-list> 
  <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>*.action</url-pattern> 
  </filter-mapping></web-app>

default.jsp

<%@ page language="java" contentType="text/html; charset=utf-8" 
    pageEncoding="utf-8"%> 
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<title>default page</title> 
</head> 
<body> 
default page 
</body> 
</html>

UserAction.java

package com.cwq.action; 
 
import com.opensymphony.xwork2.ActionSupport; 
 
public class UserAction extends ActionSupport { 
 
    @Override 
    public String execute() throws Exception { 
        // TODO Auto-generated method stub 
        //return super.execute(); 
        return SUCCESS; 
    } 
 
    /** 
     * @param args 
     */ 
    public static void main(String[] args) { 
        // TODO Auto-generated method stub 
 
    } 
 
}

struts.xml

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> 
<struts> 
    <package name="cwq" extends="struts-default"> 
        <action name="showUsers" class="com.cwq.action.UserAction"> 
            <result name="success">default.jsp</result> 
        </action> 
    </package> 
</struts>    

发布项目,启动Tomcat,运行结果:

SSH2环境搭建详解编程语言

 二、导入Spring包,配置数据源

SSH2环境搭建详解编程语言

SSH2环境搭建详解编程语言

SSH2环境搭建详解编程语言

SSH2环境搭建详解编程语言

SSH2环境搭建详解编程语言

SSH2环境搭建详解编程语言

SSH2环境搭建详解编程语言

SSH2环境搭建详解编程语言

SSH2环境搭建详解编程语言

三,Spring与Hibernate整合

SSH2环境搭建详解编程语言

SSH2环境搭建详解编程语言

SSH2环境搭建详解编程语言

SSH2环境搭建详解编程语言

SSH2环境搭建详解编程语言

SSH2环境搭建详解编程语言

SSH2环境搭建详解编程语言

在web.xml中加入

<!– 必须放在顶上 –>
 <!– 指定spring的配置文件,默认从web根目录寻找配置文件,我们可以通过spring提供的classpath:前缀指定从类路径下寻找 –>
 <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
 </context-param>
 <!– 对Spring容器进行实例化 –>
 <listener>
       <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 </listener>

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="3.0"  
    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_3_0.xsd"> 
     
    <!-- 必须放在顶上 --> 
    <!-- 指定spring的配置文件,默认从web根目录寻找配置文件,我们可以通过spring提供的classpath:前缀指定从类路径下寻找 --> 
    <context-param> 
       <param-name>contextConfigLocation</param-name> 
       <param-value>classpath:applicationContext.xml</param-value> 
    </context-param> 
    <!-- 对Spring容器进行实例化 --> 
    <listener> 
          <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
    </listener> 
     
  <display-name></display-name>     
  <welcome-file-list> 
    <welcome-file>index.jsp</welcome-file> 
  </welcome-file-list> 
  <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>*.action</url-pattern> 
  </filter-mapping></web-app>

applicationContext.xml(自动生成)

<?xml version="1.0" encoding="UTF-8"?> 
<beans 
    xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:p="http://www.springframework.org/schema/p" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> 
 
 
    <bean id="dataSource" 
        class="org.apache.commons.dbcp.BasicDataSource"> 
        <property name="driverClassName" 
            value="com.mysql.jdbc.Driver"> 
        </property> 
        <property name="url" value="jdbc:mysql://localhost:3306/sdu"></property> 
        <property name="username" value="root"></property> 
        <property name="password" value="064417"></property> 
    </bean> 
    <bean id="sessionFactory" 
        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
        <property name="dataSource"> 
            <ref bean="dataSource" /> 
        </property> 
        <property name="hibernateProperties"> 
            <props> 
                <prop key="hibernate.dialect"> 
                    org.hibernate.dialect.MySQLDialect 
                </prop> 
            </props> 
        </property> 
    </bean></beans>

测试,发布,启动Tomcat,如果启动成功则整合成功。

 四、根据数据库反向生成代码

SSH2环境搭建详解编程语言

SSH2环境搭建详解编程语言

 SSH2环境搭建详解编程语言 

SSH2环境搭建详解编程语言

SSH2环境搭建详解编程语言

 

Users.java

package com.cwq.model; 
 
import java.sql.Timestamp; 
 
/** 
 * Users entity. @author MyEclipse Persistence Tools 
 */ 
 
public class Users implements java.io.Serializable { 
 
    // Fields 
 
    private Integer id; 
    private String username; 
    private String password; 
    private Timestamp birthdate; 
 
    // Constructors 
 
    /** default constructor */ 
    public Users() {} 
 
    /** full constructor */ 
    public Users(String username, String password, Timestamp birthdate) { 
        this.username = username; 
        this.password = password; 
        this.birthdate = birthdate; 
    } 
 
    // Property accessors 
 
    public Integer getId() { 
        return this.id; 
    } 
 
    public void setId(Integer id) { 
        this.id = id; 
    } 
 
    public String getUsername() { 
        return this.username; 
    } 
 
    public void setUsername(String username) { 
        this.username = username; 
    } 
 
    public String getPassword() { 
        return this.password; 
    } 
 
    public void setPassword(String password) { 
        this.password = password; 
    } 
 
    public Timestamp getBirthdate() { 
        return this.birthdate; 
    } 
 
    public void setBirthdate(Timestamp birthdate) { 
        this.birthdate = birthdate; 
    } 
 
}

user.hbm.xml

<?xml version="1.0" encoding="utf-8"?> 
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 
<!--  
    Mapping file autogenerated by MyEclipse Persistence Tools 
--> 
<hibernate-mapping> 
    <class name="com.cwq.model.Users" table="users" catalog="sdu"> 
        <id name="id" type="java.lang.Integer"> 
            <column name="id" /> 
            <generator class="identity" /> 
        </id> 
        <property name="username" type="java.lang.String"> 
            <column name="username" length="45" not-null="true"/> 
        </property> 
        <property name="password" type="java.lang.String"> 
            <column name="password" length="45" not-null="true" /> 
        </property> 
        <property name="birthdate" type="java.sql.Timestamp"> 
            <column name="birthdate" length="23" not-null="true" /> 
        </property> 
    </class> 
</hibernate-mapping>

UserDao.java

package com.cwq.dao; 
import java.sql.Timestamp; 
import java.util.List; 
import org.hibernate.LockMode; 
import org.slf4j.Logger; 
import org.slf4j.LoggerFactory; 
import org.springframework.context.ApplicationContext; 
import org.springframework.orm.hibernate3.support.HibernateDaoSupport; 
import com.cwq.model.Users; 
/** 
* A data access object (DAO) providing persistence and search support for Users 
* entities. Transaction control of the save(), update() and delete() operations 
* can directly support Spring container-managed transactions or they can be 
* augmented to handle user-managed Spring transactions. Each of these methods 
* provides additional information for how to configure it for the desired type 
* of transaction control. 
* @see com.cwq.model.Users 
* @author MyEclipse Persistence Tools 
*/ 
public class UsersDAO extends HibernateDaoSupport { 
private static final Logger log = LoggerFactory.getLogger(UsersDAO.class); 
// property constants 
public static final String USERNAME = "username"; 
public static final String PASSWORD = "password"; 
protected void initDao() { 
// do nothing 
    } 
public void save(Users transientInstance) { 
log.debug("saving Users instance"); 
try { 
getHibernateTemplate().save(transientInstance); 
log.debug("save successful"); 
} catch (RuntimeException re) { 
log.error("save failed", re); 
throw re; 
} 
} 
public void delete(Users persistentInstance) { 
log.debug("deleting Users instance"); 
try { 
getHibernateTemplate().delete(persistentInstance); 
log.debug("delete successful"); 
} catch (RuntimeException re) { 
log.error("delete failed", re); 
throw re; 
} 
} 
public Users findById(java.lang.Integer id) { 
log.debug("getting Users instance with id: " + id); 
try { 
Users instance = (Users) getHibernateTemplate().get("com.cwq.model.Users", id); 
return instance; 
} catch (RuntimeException re) { 
log.error("get failed", re); 
throw re; 
} 
} 
public List findByExample(Users instance) { 
log.debug("finding Users instance by example"); 
try { 
List results = getHibernateTemplate().findByExample(instance); 
log.debug("find by example successful, result size: " + results.size()); 
return results; 
} catch (RuntimeException re) { 
log.error("find by example failed", re); 
throw re; 
} 
} 
public List findByProperty(String propertyName, Object value) { 
log.debug("finding Users instance with property: " + propertyName + ", value: " + value); 
try { 
String queryString = "from Users as model where model." + propertyName + "= ?"; 
return getHibernateTemplate().find(queryString, value); 
} catch (RuntimeException re) { 
log.error("find by property name failed", re); 
throw re; 
} 
} 
public List findByUsername(Object username) { 
return findByProperty(USERNAME, username); 
} 
public List findByPassword(Object password) { 
return findByProperty(PASSWORD, password); 
} 
public List findAll() { 
log.debug("finding all Users instances"); 
try { 
String queryString = "from Users"; 
return getHibernateTemplate().find(queryString); 
} catch (RuntimeException re) { 
log.error("find all failed", re); 
throw re; 
} 
} 
public Users merge(Users detachedInstance) { 
log.debug("merging Users instance"); 
try { 
Users result = (Users) getHibernateTemplate().merge(detachedInstance); 
log.debug("merge successful"); 
return result; 
} catch (RuntimeException re) { 
log.error("merge failed", re); 
throw re; 
} 
} 
public void attachDirty(Users instance) { 
log.debug("attaching dirty Users instance"); 
try { 
getHibernateTemplate().saveOrUpdate(instance); 
log.debug("attach successful"); 
} catch (RuntimeException re) { 
log.error("attach failed", re); 
throw re; 
} 
} 
public void attachClean(Users instance) { 
log.debug("attaching clean Users instance"); 
try { 
getHibernateTemplate().lock(instance, LockMode.NONE); 
log.debug("attach successful"); 
} catch (RuntimeException re) { 
log.error("attach failed", re); 
throw re; 
} 
} 
public static UsersDAO getFromApplicationContext(ApplicationContext ctx) { 
return (UsersDAO) ctx.getBean("UsersDAO"); 
} 
}

applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?> 
<beans 
xmlns="http://www.springframework.org/schema/beans" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:p="http://www.springframework.org/schema/p" 
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> 
<bean id="dataSource" 
class="org.apache.commons.dbcp.BasicDataSource"> 
<property name="driverClassName" 
value="com.mysql.jdbc.Driver"> 
</property> 
<property name="url" value="jdbc:mysql://localhost:3306/sdu"></property> 
<property name="username" value="root"></property> 
<property name="password" value="064417"></property> 
</bean> 
<bean id="sessionFactory" 
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
<property name="dataSource"> 
<ref bean="dataSource" /> 
</property> 
<property name="hibernateProperties"> 
<props> 
<prop key="hibernate.dialect"> 
org.hibernate.dialect.MySQLDialect 
</prop> 
</props> 
</property> 
<property name="mappingResources"> 
<list> 
<value>com/cwq/model/Users.hbm.xml</value></list> 
</property></bean> 
<bean id="UsersDAO" class="com.cwq.dao.UsersDAO"> 
<property name="sessionFactory"> 
<ref bean="sessionFactory" /> 
</property> 
</bean></beans>

 五、Struts整合Spring

UserAction.java

package com.cwq.action; 
import java.util.List; 
import com.cwq.dao.UsersDAO; 
import com.cwq.model.Users; 
import com.opensymphony.xwork2.ActionSupport; 
public class UserAction extends ActionSupport { 
private List<Users> users = null; 
private UsersDAO userDao; 
public void setUserDao(UsersDAO userDao) { 
this.userDao = userDao; 
} 
@Override 
public String execute() throws Exception { 
// TODO Auto-generated method stub 
//return super.execute(); 
users = userDao.findAll(); 
return SUCCESS; 
} 
public List<Users> getUsers() { 
return users; 
} 
public void setUsers(List<Users> users) { 
this.users = users; 
} 
/** 
* @param args 
*/ 
public static void main(String[] args) { 
// TODO Auto-generated method stub 
 
} 
}

applicationContext.xml
加入

<bean id=”userAction” class=”com.cwq.action.UserAction”>
  <property name=”userDao”><!– 依赖注入(单例),在UserAction中必须要有一个userDao的属性有其set方法 –>
   <ref bean=”UsersDAO”/>
  </property>
 </bean>

<?xml version="1.0" encoding="UTF-8"?> 
<beans 
xmlns="http://www.springframework.org/schema/beans" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:p="http://www.springframework.org/schema/p" 
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> 
<bean id="dataSource" 
class="org.apache.commons.dbcp.BasicDataSource"> 
<property name="driverClassName" 
value="com.mysql.jdbc.Driver"> 
</property> 
<property name="url" value="jdbc:mysql://localhost:3306/sdu"></property> 
<property name="username" value="root"></property> 
<property name="password" value="064417"></property> 
</bean> 
<bean id="sessionFactory" 
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
<property name="dataSource"> 
<ref bean="dataSource" /> 
</property> 
<property name="hibernateProperties"> 
<props> 
<prop key="hibernate.dialect"> 
org.hibernate.dialect.MySQLDialect 
</prop> 
</props> 
</property> 
<property name="mappingResources"> 
<list> 
<value>com/cwq/model/Users.hbm.xml</value></list> 
</property></bean> 
<bean id="UsersDAO" class="com.cwq.dao.UsersDAO"> 
<property name="sessionFactory"> 
<ref bean="sessionFactory"/> 
</property> 
</bean> 
<bean id="userAction" class="com.cwq.action.UserAction"> 
<property name="userDao"><!-- 依赖注入(单例),在UserAction中必须要有一个userDao的属性有其set方法 --> 
<ref bean="UsersDAO"/> 
</property> 
</bean> 
</beans>

 struts.xml

加入

<!– 由Spring来代理控制层 –>
 <constant name=”struts.objectFactory” value=”spring” />

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> 
<struts> 
<!-- 由Spring来代理控制层 --> 
<constant name="struts.objectFactory" value="spring" /> 
<package name="cwq" extends="struts-default"> 
<!-- <action name="showUsers" class="com.cwq.action.UserAction"> --> 
<action name="showUsers" class="userAction"><!-- Spring中的userAction --> 
<result name="success">default.jsp</result> 
</action> 
</package> 
</struts>    

default.jsp

<%@ page language="java" contentType="text/html; charset=utf-8" 
pageEncoding="utf-8"%> 
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<title>default page</title> 
</head> 
<body> 
default page<p> 
<!-- UserAction中的users --> 
<c:forEach var='user' items='${users}'> 
${user.username}--${user.password}--${user.birthdate} </br> 
</c:forEach> 
</body> 
</html>

SSH2环境搭建详解编程语言

 如果要指定进入某个action加入下面代码

 <script type=”text/javascript”>
  document.location.href = “showUsers.action”;
 </script>

index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%> 
<% 
String path = request.getContextPath(); 
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 
%> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
<head> 
<base href="<%=basePath%>"> 
<title>My JSP 'index.jsp' starting page</title> 
<meta http-equiv="pragma" content="no-cache"> 
<meta http-equiv="cache-control" content="no-cache"> 
<meta http-equiv="expires" content="0">     
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> 
<meta http-equiv="description" content="This is my page"> 
<!-- 
<link rel="stylesheet" type="text/css" href="styles.css"> 
--> 
<script type="text/javascript"> 
document.location.href = "showUsers.action"; 
</script> 
</head> 
<body> 
This is my JSP page. <br> 
</body> 
</html>

 

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/13393.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论