Struts2学习-ssh框架
2024-10-21 15:38:36
SSH是 struts+spring+hibernate的一个集成框架,是目前比较流行的一种Web应用程序开源框架。
http://www.cnblogs.com/laibin/p/5847111.html
1.新建以下的类
2.接口
UserDao负责数据
package com.nf.dao; import com.nf.entity.User; public interface UserDao {
//这是数据库层面的操作,
//往往编写dao的人,不用考虑业务逻辑的
//单对象例如,User,以及List,例如UserList
//编写增删改查 public User getUserById(String id); //public boolean delUserById(); //public boolean updateUser();
}
UserDaoImpl继承UserDao接口
package com.nf.dao.impl; import com.nf.dao.UserDao;
import com.nf.entity.User; public class UserDaoImpl implements UserDao{
public User getUserById(String id) {
//写JDBC或者hibernate等代码,获取user
//模拟从数据库已经取了一个User
User user = new User();
user.setUserName("小李");
user.setUserPassword("123456");
return user;
}
}
UserService有一个方法,获取id
UserServiceImpl继承方法并new一个获取的userDao
package com.nf.service.impl; import com.nf.dao.UserDao;
import com.nf.entity.User;
import com.nf.service.UserService; public class UserServiceImpl implements UserService {
private UserDao userDao = null; public UserDao getUserDao() {
return userDao;
} public void setUserDao(UserDao userDao) {
this.userDao = userDao;
} public String getUserNameById(String id) {
User user = userDao.getUserById(id);
if ("123456".equals(user.getUserPassword())){
return user.getUserName()+"(弱密码)";
}
else {
return user.getUserName();
} }
}
3.service
需要一个service,就定义service的接口为属性,UserAction
private UserService userService = null;
public UserService getUserService() {
return userService;
}
public void setUserService(UserService userService) {
this.userService = userService;
} @Override
public String execute() throws Exception {
//userService=new UserServiceImpl();
String userName = userService.getUserNameById("123");
System.out.println(userName);
return this.NONE;
}
4.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd"> <struts>
<constant name="struts.objectFactory" value="spring"></constant> <package name="myPackage" extends="struts-default"> <action name="index" class="userAction"></action> </package> </struts>
<?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.xsd"> <bean id="userAction" class="com.nf.action.UserAction" scope="prototype">
<property name="userService" ref="userService"></property>
</bean> <bean id="userService" class="com.nf.service.impl.UserServiceImpl" scope="prototype">
<property name="userDao" ref="userDao"></property>
</bean> <bean id="userDao" class="com.nf.dao.impl.UserDaoImpl" scope="prototype"></bean> </beans>
ps:有一个web.xml
<!--1个spring的监听器-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
地址:https://gitee.com/MuNianShi/ssh001.git
最新文章
- try catch中用了 Response.Redirect 引发的线程异常终止
- 在VFP6中模拟CursorAdapter的功能
- Redis实现唯一计数的3种方法分享
- 三. 动态添加option选项
- 初试FitNesse
- 搭建WP8开发环境
- 2014ACMICPC西安网赛1006
- RAC集群时间同步服务
- 【转】深入研究java.lang.Runtime类
- details标签和summary标签
- CentOS LNMP安装phpMyAdmin
- myeclipse部署时An internal error occurred 错误的几种情况
- 【linux驱动笔记】linux模块机制浅析
- Qt事件和事件循环
- sublime text3 配置使用
- 浏览器事件window.onload、o…
- XML功能
- Web Service进阶(二)如何用Apache TCPMon来截获SOAP消息
- 解决TOC与目录导航冲突问题
- linux系统下find命令的使用