Struts2.0+Spring2.0+Hibernate3.1登录及增删改查的完整演示示例 连载中...(三)
来源:互联网 发布:程序员 兼职 编辑:程序博客网 时间:2024/05/21 06:19
好了,废话不多说了,接着今天早上我们的示例接着做完.
六、我们开始写Spring层:
1、 服务层接口IUsersService.java
package org.login.service;
import java.util.List;
import org.login.vo.Users;
@SuppressWarnings("unchecked")
public interface IUsersService {
public boolean checkLogin(Users user);
public boolean saveUser(Users user);
public boolean deleteUser(Integer id);
public boolean updateUser(Users user);
public List<Users> findAllUsers();
public Users getUserById(Integer id);
}
import java.util.List;
import org.login.vo.Users;
@SuppressWarnings("unchecked")
public interface IUsersService {
public boolean checkLogin(Users user);
public boolean saveUser(Users user);
public boolean deleteUser(Integer id);
public boolean updateUser(Users user);
public List<Users> findAllUsers();
public Users getUserById(Integer id);
}
package org.login.service.Impl;
import java.util.List;
import org.login.dao.IUsersDAO;
import org.login.service.IUsersService;
import org.login.vo.Users;
@SuppressWarnings("unchecked")
public class UsersService implements IUsersService {
private IUsersDAO userDAO = null;
public IUsersDAO getUserDAO() {
return userDAO;
}
public void setUserDAO(IUsersDAO userDAO) {
this.userDAO = userDAO;
}
@Override
public boolean checkLogin(Users user) {
return userDAO.checkLogin(user);
}
@Override
public boolean deleteUser(Integer id) {
return userDAO.deleteUser(id);
}
@Override
public boolean saveUser(Users user) {
return userDAO.saveUser(user);
}
@Override
public boolean updateUser(Users user) {
return userDAO.updateUser(user);
}
@Override
public List<Users> findAllUsers() {
return userDAO.findAllUsers();
}
@Override
public Users getUserById(Integer id) {
return userDAO.getUserById(id);
}
}
import java.util.List;
import org.login.dao.IUsersDAO;
import org.login.service.IUsersService;
import org.login.vo.Users;
@SuppressWarnings("unchecked")
public class UsersService implements IUsersService {
private IUsersDAO userDAO = null;
public IUsersDAO getUserDAO() {
return userDAO;
}
public void setUserDAO(IUsersDAO userDAO) {
this.userDAO = userDAO;
}
@Override
public boolean checkLogin(Users user) {
return userDAO.checkLogin(user);
}
@Override
public boolean deleteUser(Integer id) {
return userDAO.deleteUser(id);
}
@Override
public boolean saveUser(Users user) {
return userDAO.saveUser(user);
}
@Override
public boolean updateUser(Users user) {
return userDAO.updateUser(user);
}
@Override
public List<Users> findAllUsers() {
return userDAO.findAllUsers();
}
@Override
public Users getUserById(Integer id) {
return userDAO.getUserById(id);
}
}
七、现在我们开始写Struts层:
1、写Struts层的Action: Login.java
package org.login.actions;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.login.service.IUsersService;
import org.login.vo.Users;
import com.opensymphony.xwork2.ActionSupport;
@SuppressWarnings({"serial","unchecked"})
public class Login extends ActionSupport implements ServletRequestAware {
private static final String UPDATE = "update";
private HttpServletRequest request = null;
private IUsersService userService = null;
private String id = null;
private String name = null;
private String password = null;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public IUsersService getUserService() {
return userService;
}
public void setUserService(IUsersService userService) {
this.userService = userService;
}
@Override
public String execute() throws Exception {
Users user = new Users();
user.setUsername(name);
user.setPassword(password);
if (getUserService().checkLogin(user)) {
return SUCCESS;
}
return INPUT;
}
public String save() throws Exception {
Users user = new Users();
user.setUsername(name);
user.setPassword(password);
if (getUserService().saveUser(user)) {
return SUCCESS;
}
return ERROR;
}
public String update() throws Exception {
Users user = null;
String action = request.getParameter("action");
String id = request.getParameter("id");
if ("loading".equals(action)) {
user = new Users();
user = getUserService().getUserById(Integer.valueOf(id));
if (null != user) {
request.setAttribute("user", user);
}
return UPDATE;
} else {
user = new Users();
user.setUsername(name);
user.setPassword(password);
user.setId(Integer.valueOf(id));
if (getUserService().updateUser(user)) {
return SUCCESS;
}
}
return ERROR;
}
public String delete() throws Exception {
String id = request.getParameter("id");
if (getUserService().deleteUser(Integer.valueOf(id))) {
return SUCCESS;
}
return ERROR;
}
public String findAllUsers() throws Exception {
List<Users> list = getUserService().findAllUsers();
if (list.size() > 0) {
request.setAttribute("list", list);
return SUCCESS;
}
return ERROR;
}
@Override
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
}
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.login.service.IUsersService;
import org.login.vo.Users;
import com.opensymphony.xwork2.ActionSupport;
@SuppressWarnings({"serial","unchecked"})
public class Login extends ActionSupport implements ServletRequestAware {
private static final String UPDATE = "update";
private HttpServletRequest request = null;
private IUsersService userService = null;
private String id = null;
private String name = null;
private String password = null;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public IUsersService getUserService() {
return userService;
}
public void setUserService(IUsersService userService) {
this.userService = userService;
}
@Override
public String execute() throws Exception {
Users user = new Users();
user.setUsername(name);
user.setPassword(password);
if (getUserService().checkLogin(user)) {
return SUCCESS;
}
return INPUT;
}
public String save() throws Exception {
Users user = new Users();
user.setUsername(name);
user.setPassword(password);
if (getUserService().saveUser(user)) {
return SUCCESS;
}
return ERROR;
}
public String update() throws Exception {
Users user = null;
String action = request.getParameter("action");
String id = request.getParameter("id");
if ("loading".equals(action)) {
user = new Users();
user = getUserService().getUserById(Integer.valueOf(id));
if (null != user) {
request.setAttribute("user", user);
}
return UPDATE;
} else {
user = new Users();
user.setUsername(name);
user.setPassword(password);
user.setId(Integer.valueOf(id));
if (getUserService().updateUser(user)) {
return SUCCESS;
}
}
return ERROR;
}
public String delete() throws Exception {
String id = request.getParameter("id");
if (getUserService().deleteUser(Integer.valueOf(id))) {
return SUCCESS;
}
return ERROR;
}
public String findAllUsers() throws Exception {
List<Users> list = getUserService().findAllUsers();
if (list.size() > 0) {
request.setAttribute("list", list);
return SUCCESS;
}
return ERROR;
}
@Override
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
}
好了,现在我们所有的实现类都已经完成了,剩下来的就是配置文件了。
八、开始写配置文件了
1、配置struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<include file="struts-default.xml"/>
<package name="struts2" extends="struts-default">
<action name="logon" class="login">
<result name="success">/success.jsp</result>
<result name="input">/login.jsp</result>
</action>
<action name="save" class="login" method="save">
<result name="success">/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
<action name="update" class="login" method="update">
<result name="success">/success.jsp</result>
<result name="update">/update.jsp</result>
<result name="error">/error.jsp</result>
</action>
<action name="delete" class="login" method="delete">
<result name="success">/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
<action name="show" class="login" method="findAllUsers">
<result name="success">/list.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
</struts>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<include file="struts-default.xml"/>
<package name="struts2" extends="struts-default">
<action name="logon" class="login">
<result name="success">/success.jsp</result>
<result name="input">/login.jsp</result>
</action>
<action name="save" class="login" method="save">
<result name="success">/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
<action name="update" class="login" method="update">
<result name="success">/success.jsp</result>
<result name="update">/update.jsp</result>
<result name="error">/error.jsp</result>
</action>
<action name="delete" class="login" method="delete">
<result name="success">/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
<action name="show" class="login" method="findAllUsers">
<result name="success">/list.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
</struts>
struts.locale=zh_CN
struts.i18n.encoding=UTF-8
struts.objectFactory=spring
struts.i18n.encoding=UTF-8
struts.objectFactory=spring
3、配置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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.microsoft.jdbc.sqlserver.SQLServerDriver">
</property>
<property name="url"
value="jdbc:microsoft:sqlserver://localhost:1433;databaseName=pubs">
</property>
<property name="username" value="sa"></property>
<property name="password" value="aa"></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.SQLServerDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>org/login/vo/Users.hbm.xml</value>
</list>
</property>
</bean>
<bean id="baseDAO" class="org.login.dao.Impl.BaseDAO">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<bean id="userDAO" class="org.login.dao.Impl.UsersDAO" parent="baseDAO"></bean>
<bean id="userService" class="org.login.service.Impl.UsersService">
<property name="userDAO">
<ref bean="userDAO"/>
</property>
</bean>
<bean id="login" class="org.login.actions.Login" scope="prototype">
<property name="userService">
<ref bean="userService"/>
</property>
</bean>
</beans>
<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-2.0.xsd">
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.microsoft.jdbc.sqlserver.SQLServerDriver">
</property>
<property name="url"
value="jdbc:microsoft:sqlserver://localhost:1433;databaseName=pubs">
</property>
<property name="username" value="sa"></property>
<property name="password" value="aa"></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.SQLServerDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>org/login/vo/Users.hbm.xml</value>
</list>
</property>
</bean>
<bean id="baseDAO" class="org.login.dao.Impl.BaseDAO">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<bean id="userDAO" class="org.login.dao.Impl.UsersDAO" parent="baseDAO"></bean>
<bean id="userService" class="org.login.service.Impl.UsersService">
<property name="userDAO">
<ref bean="userDAO"/>
</property>
</bean>
<bean id="login" class="org.login.actions.Login" scope="prototype">
<property name="userService">
<ref bean="userService"/>
</property>
</bean>
</beans>
这一篇也不少了,我们的工作也基本上完成了,就剩下UI层了,等下篇再说吧。好了,我们这一篇就到这里啦,下一篇请大家继续关注我的博客连载,大家也可以先下载示例代码先看看哈,如果有看不懂的给我留言。
下载地址:
Struts2.0+Spring2.0+Hibernate3.1登录及增删改查的完整演示示例下载地址:http://download.csdn.net/source/326113
以前的一个版本:Struts1.2+Spring1.2+HIbernate3.1整合登录示例示例:http://download.csdn.net/source/323772
- Struts2.0+Spring2.0+Hibernate3.1登录及增删改查的完整演示示例 连载中...(三)
- Struts2.0+Spring2.0+Hibernate3.1登录及增删改查的完整演示示例 连载中...(一)
- Struts2.0+Spring2.0+Hibernate3.1登录及增删改查的完整演示示例 连载中...(二)
- Struts2.0+Spring2.0+Hibernate3.1登录及增删改查的完整演示示例 连载中...(四)
- Struts2.0+Springframework2.5+ibatis2.3完美整合用户登录及增删改查演示示例 连载中.(三)
- Struts2.0+Springframework2.5+ibatis2.3完美整合用户登录及增删改查演示示例 连载中.(一)
- Struts2.0+Springframework2.5+ibatis2.3完美整合用户登录及增删改查演示示例 连载中.(二)
- Struts2.0+Springframework2.5+ibatis2.3完美整合用户登录及增删改查演示示例 连载中.(四)
- struts2.0+spring2.0+hibernate3.2实现增删改查CURD
- 2009-12-02 22:16 struts2.0+spring2.0+hibernate3.2实现增删改查CURD
- struts2+Spring2.0+Hibernate3使用注解的登录验证
- Struts2+Spring2+Hibernate3 web应用示例(三)
- Struts2+Spring2+Hibernate3 web应用示例(三)
- Struts2+Spring2+Hibernate3 web应用示例(三)
- Struts2+Spring2+Hibernate3 web应用示例(三)
- Struts2.0+Spring2.0+Hibernate3.1整合
- struts2.0+spring2.0+hibernate3.1整合
- Struts2.0+spring2.0+hibernate3.2 Annotation应用示例
- 常见 ASP 组件简介及下载
- 240多个jQuery插件
- Oracle用户管理
- 在C#中使用钩子:按下Alt+F4时使窗口最小化.....
- 如何从硬盘安装Linux
- Struts2.0+Spring2.0+Hibernate3.1登录及增删改查的完整演示示例 连载中...(三)
- RPC的有关问题及其解决方法
- Oracle备份与恢复
- windows时间大全(zz)
- 关于'const char[]' TO 'LPCTSTR'
- 关注使用者,则一切将水到渠成
- 过去的2007,我的2007
- 愁啊~!积分~!为什么要积分呢~!
- java解压缩ZIP