• MyEclipse SSH初体验


    17:44

    SSHStruts+spring+hibernate框架.

    本次体验使用的Struts2+spring3+hibernate3

    1,创建ssh工程.

    2,添加hibernate访问数据库

    Windows->show view->dbExplorer

    ●创建db连接,本次体验使用mysql作为体验数据库,其他数据库应该类似

    选择配置的连接右键->openconnection建立数据库连接.

    ●添加hibernate配置:两种方式:POJODao/SpringDao两者没有太大差异只是在配置时略有不同)

    如果使用Spring Dao则需要先引用Spring支持Library

    右键projectMyEclipse->Add Spring Cap….

    一路默认即可

    添加Hibernate支持:Project->右键->MyEclipse->add hibernate cap…

    Next如果Pojo则选择Hibernate.xfg.xml,如果SpringDao则选择applicatonContext.xml

    根据需要选择xml文件

    选择数据库连接配置

    选择实体类生成文件存储路径和包

    Finish完成Hibernate配置

    添加Spring persistence jdbc libraries工程右键->properties->java build path->MyEclipse->spring xxx persistence jdbc libraries

    ●生成HibernateDao实体数据

    数据库连接中选择schma->Table右键->Hibernate Reverse Engineering来生成Dao

    如果为pojodao选择basicdao

    如果springdao选择spring dao

    nextid generator中选择native根据需要选择one-to-many/many-to-one等选项

    Next->finish则在相应的package中将生成对应的xxxdao.java,xxx.hbm.xml等文件

    ●添加业务层逻辑

    添加相应处理接口这里使用IOwenerService接口,添加getOwners()

    public interface IOwnerService {

    public List getOwners();

    }

    添加OwenerService继承自IOwenerService,然后添加相应的Dao对象作为OwenerService的成员。

    然后生成getter/Setter

    public class OwnerService implements IOwnerService {

    public OwnersDAO getOwnerDao() {

    return ownerDao;

    }

    public void setOwnerDao(OwnersDAO ownerDao) {

    this.ownerDao = ownerDao;

    }

    private OwnersDAO ownerDao; //根据需要变更

    public List getOwners() {

    // TODO Auto-generated method stub                

    return ownerDao.findAll();

    }

    }

    ●添加表现层处理

    Project->右键->Add Struts cap….

     

    选择struts2 core/struts 2 spring(strutsspring的连接必须选择)

    Finish完成Struts的添加

    添加页面以及相应的action

    action

    public class ListAction extends ActionSupport {

    public Collection getOwners() {

    return owners;

    }

    public void setOwenrSrv(IOwnerService owenrSrv) {

    this.owenrSrv = owenrSrv;

    }

    private IOwnerService owenrSrv;

    private Collection owners;

    /**

     * @return

     */

    public String execute() {

    // TODO Auto-generated method stub

    owners = this.owenrSrv.getOwners();

    return SUCCESS;

    }

    }

    Index.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

    <%@ taglib prefix="s" uri="/struts-tags"%>

    <%

    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">

    -->

      </head>

     

      <body>

         <p><a href="<s:url action='listAction'/>">List</a></p><br>

      </body>

    </html>

    List.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

    <%@ taglib prefix="s" uri="/struts-tags"%>

    <%

    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 'List.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">

    -->

      </head>

     

      <body>

      <table>

              <tbody>

                <s:iterator value="items">

                <tr>

                <td>

                        <a><s:property value="Username"/></a>

                </td>

                <td>

                        <a><s:property value="Descn"/></a>

                </td>

                </tr>

                </s:iterator>

        </tbody>

      </table>

      </body>

    </html>

    xml配置

    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>

    <constant name="struts.enable.DynamicMethodInvocation" value="false" /> 

        <constant name="struts.devMode" value="false" />  

        <constant name="struts.objectFactory" value="spring"/>

       

    <package name="default" extends="struts-default">

    <!-- listActionBean 对应到applicationContextbean -->

    <action name="listAction" class="listActionBean">

    <result>/List.jsp</result></action></package></struts> 

    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"></property>

    <property name="username" value="root"></property>

    <property name="password" value="sa"></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>

    <prop key="hibernate.hbm2ddl.auto">update</prop>

    </props>

    </property>

    <property name="mappingResources">

    <list>

    <value>./sshDemo/Entities/Owners.hbm.xml</value>

    <value>./sshDemo/Entities/Pets.hbm.xml</value>

    <value>./sshDemo/Entities/Types.hbm.xml</value>

    <value>./Visits.hbm.xml</value>

    </list>

    </property>

    </bean>

    <bean id="OwnersDAO" class="sshDemo.Entities.OwnersDAO">

    <property name="sessionFactory">

    <ref bean="sessionFactory" />

    </property>

    </bean>

    <bean id="PetsDAO" class="sshDemo.Entities.PetsDAO">

    <property name="sessionFactory">

    <ref bean="sessionFactory" />

    </property>

    </bean>

    <bean id="TypesDAO" class="sshDemo.Entities.TypesDAO">

    <property name="sessionFactory">

    <ref bean="sessionFactory" />

    </property>

    </bean>

    <bean id="VisitsDAO" class="sshDemo.Entities.VisitsDAO">

    <property name="sessionFactory">

    <ref bean="sessionFactory" />

    </property>

    </bean>

    <!-- 依赖注入 -->

    <bean id="ownerSerivce" class="sshDemo.bll.OwnerService">

    <property name="ownerDao">

    <ref bean="OwnersDAO" />

    </property>

    </bean>

    <bean id="listActionBean" class="sshDemo.Actions.ListAction">

    <property name="owenrSrv">

    <ref bean="ownerSerivce" />

    </property>

    </bean>

    </beans>

     

    Web.xml配置

    <?xml version="1.0" encoding="UTF-8"?>

    <web-app version="2.5" 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_2_5.xsd">

     <context-param>

             <param-name>contextConfigLocation</param-name>

             <param-value>/WEB-INF/classes/applicationContext.xml</param-value>

     </context-param>

     <filter>

      <filter-name>struts2</filter-name>

      <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>

     </filter>

     <filter-mapping>

      <filter-name>struts2</filter-name>

      <url-pattern>/*</url-pattern>

     </filter-mapping>

     <welcome-file-list>

      <welcome-file>index.jsp</welcome-file>

     </welcome-file-list>

     <login-config>

      <auth-method>BASIC</auth-method>

     </login-config>

     <listener>

             <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

     </listener>

    </web-app>

    至此,已经完成了ssh架构的初次体验。

  • 相关阅读:
    File System Minifilter Drivers(文件系统微型过滤驱动)入门
    使用Windows驱动的虚拟打印机,打印Excel表格无表格线问题解决(2)
    使用Windows驱动的虚拟打印机,打印Excel表格无表格线问题解决(1)
    lettcode 上的几道哈希表与链表组合的数据结构题
    计蒜之道 百度AI小课堂-上升子序列
    Educational Codeforces Round 40 F. Runner's Problem
    第13届 广东工业大学ACM程序设计大赛 C题 平分游戏
    Educational Codeforces Round 39 (Rated for Div. 2) G
    Codeforces Round #466 (Div. 2) E. Cashback
    cf 460 E. Congruence Equation 数学题
  • 原文地址:https://www.cnblogs.com/SkyMouse/p/2340746.html
Copyright © 2020-2023  润新知