您的位置:首页 > 编程语言 > Java开发

DWR+Spring+Hibernate入门示例

2011-08-31 12:42 260 查看
 Tomcat为6.0,开发环境为Eclipse,数据库为sql server。由于Hibernate连接sqlserver 数据库时,用普通的数据库驱动容易出错。所以我们用的是jtds驱动。

这个例子是实现了,用户输入用户名,并点击按钮。从数据库中判断,此用户名是否存在。

1.首先将Hibernate、Spring和DWR所需的jar包全部倒入文件。

2.建立Dynamic web工程,名称为DWRTestDemo。

3.在src下新建三个包,分别为com.DWRTestDemo.dao(用于放model类,hbm映射文件和dao文件)、com.DWRTestDemo.service包(用于放调用dao文件的文件)、com.DWRTestDemo.control包(用于放调用service文件的文件,它中间的类是暴露给DWR调用的)。

4.com.DWRTestDemo.dao下的文件有:

User.java

package com.DWRTestDemo.dao;

public class User {

private String username;
private String password;

public void setUsername(String username)
{
this.username=username;
}
public void setPassword(String password)
{
this.password=password;
}
public String getUsername()
{
return this.username;
}
public String getPassword()
{
return this.password;
}
}

User.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.DWRTestDemo.dao">
<class name="User" table="tb_user">
<id name="username" column="username">
<generator class="assigned"/>
</id>
<property name="password" column="password"/>
</class>
</hibernate-mapping>


UserDAO.java

package com.DWRTestDemo.dao;
import java.util.*;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
public class UserDAO extends HibernateDaoSupport{

public List<User> findByName(String username)
{
return getHibernateTemplate().find("from User where username='"+username+"'");
}
}

com.DWRTestDemo.service中的类有:

DWRService.java:

package com.DWRTestDemo.service;
import com.DWRTestDemo.dao.*;
import java.util.*;
public class DWRService {

private UserDAO userDAO;

public void setUserDAO(UserDAO userDAO)
{
this.userDAO=userDAO;
}
public UserDAO getUserDAO()
{
return this.userDAO;
}
public boolean checkExists(String username)
{
List<User> list=userDAO.findByName(username);
if(list!=null&&list.size()>0)
{
return true;
}
else
{
return false;
}
}
}

com.DWRTestDemo.control下的类有:

DWRTextControl.java

package com.DWRTestDemo.control;
import javax.servlet.http.HttpServletRequest;
import com.DWRTestDemo.service.*;
public class DWRTextControl {

private DWRService dwrService;
public void setDwrService(DWRService dwrService)
{
this.dwrService=dwrService;
}
public DWRService getDwrService()
{
return this.dwrService;
}
public boolean checkExists(String username,HttpServletRequest request)
{
return dwrService.checkExists(username);
}
}


 

5.写配置文件:

web.xml的配置为(需要配listener--spring要求的,servlet----DWR要求的):

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>DWRTestDemo</display-name>
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>

applicationContext.xml的配置(配置Hibernate的dataSource,sessionFactory和一些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"
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" destroy-method="close">
<property name="driverClassName">
<value>net.sourceforge.jtds.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:jtds:sqlserver://localhost:1433;databaseName=db_test;</value>
</property>
<property name="username">
<value>sa</value>
</property>
<property name="password">
<value></value>
</property>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource"/>
</property>
<property name="mappingResources">
<list>
<value>com/DWRTestDemo/dao/User.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
</bean>
<bean id="UserDAO" class="com.DWRTestDemo.dao.UserDAO">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<bean id="DWRService" class="com.DWRTestDemo.service.DWRService">
<property name="userDAO" ref="UserDAO"/>
</bean>
<bean id="DWRTextControl" class="com.DWRTestDemo.control.DWRTextControl">
<property name="dwrService" ref="DWRService"/>
</bean>
</beans>

dwr.xml的配置为:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">
<dwr>
<allow>
<create creator="spring" javascript="DWRTextControl">
<param name="beanName" value="DWRTextControl"/>
</create>
</allow>
</dwr>


 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息