Struts2学习-ssh框架
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
Struts2学习-ssh框架的更多相关文章
- 学习SSH框架
1.SSH框架的认知 在做相关的java的网页的开发制作时,良好的层次分解是十分有比要的,所以我们在云涌第三方的框架之下来简化还有名了我们相关的网站的开发. SSH框架实则为Struct + spri ...
- 从零开始学习SSH框架笔记之四 几个关键配置文件备忘(模板)
不多说,直接上代码.关于注释我尽量写详细点. 1.web.xml <?xml version="1.0" encoding="UTF-8"?> &l ...
- SSH框架(三) struts2的登陆示例
因为最近在学习使用SSH框架(struts2+spring+hibernate),下面来介绍表现层struts2的使用方法. (一)添加struts2的包 见上一篇博客,先看一下添加的各个文件的目录结 ...
- 对于SSH框架的选择
选择框架:SSH 对于Web开发来说,SSH框架可以提高开发效率,还可以方便需求的变更以及对后期维护方面更容易操作.SSH也是目前稍微流行的Web开发框架. 选择框架描述: 首先说明一下SSH并不是一 ...
- [原创]java WEB学习笔记54:Struts2学习之路---概述,环境的搭建
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- 【转载】SSH框架总结(将网上朋友写的给整合了下)
一.Struts 在没有学习SSH框架前,我们一般采用Jsp+javabean+servlet开发,这里就是MVC架构.而Struts其实就是替代了Servlet,我们知道Servlet在一般的开发中 ...
- 为什么大多数培训机构还停留在只教ssh框架?
最近听一些朋友说,招聘面试的很多人简历都差不多,大部分人的简历上面都写了熟悉ssh框架,我朋友就在吐槽,为什么这些人简历都差不多,并且都熟悉ssh框架? 后面他说, 可能这些人都是培训机构出来的, 然 ...
- 为什么要放弃ssh框架
本文是转载他人的,觉得很好,分享! 最近听一些朋友说,招聘面试的很多人简历都差不多,大部分人的简历上面都写了熟悉ssh框架,我朋友就在吐槽,为什么这些人简历都差不多,并且都熟悉ssh框架? 后面他说, ...
- ssh框架被淘汰的原因
SSH就是Struts2+Spring+Hibernate. 三个组件的简单介绍 Struts2:通俗的讲就是为了完成MVC模型中的C的功能,也就是编写具体的业务逻辑的地方.从他的设计上来看就是请求到 ...
随机推荐
- Robot Framework(用户关键字)
在 Robot Framework 中关键字的创建分两种:系统关键字和用户关键字.系统关键字需要通过脚本开发相应的类和方法,这个我们将在后面的章节介绍.用户关键字的创建就要简单得多,它主要利用现有的系 ...
- Http请求响应模型
主要用到以下四个部分: Client API DB API 场景:登录 1.Client发起请求到API接口层 1.1用户在客户端输入登录信息,点击登录,发送请求 2.API接受用户发起的 ...
- Cloudera Manager安装之时间服务器和时间客户端(Ubuntu14.04)(二)
第二步: Cloudera Manager安装之时间服务器和时间客户端(二) 找一台机器作为时间服务器 我这里,放到ubuntucmbigdata1这台机器! 注意,之前是已经做了集群时间同步了. 在 ...
- ruby中的\z与\Z区别
s = "this is\nthe name\n" puts "--------------" puts s.match(/name\Z/) puts s.ma ...
- PHP正则表达式(转载)
这个星期要攻破PHP正则表达式 正则表达式定义 正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串.将匹配的子串做替换或者从某个串中取 ...
- 游戏开发者注意!这个音频SDK可以完美兼容所有主流游戏引擎
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯游戏云 发表于云+社区专栏 在网络游戏中,无论是大逃杀.棋牌类.电子竞技类还是娱乐休闲类小游戏,玩家和玩家之间的互动.语音聊天是一 ...
- Codeforces 981F. Round Marriage
Description 一个长度为 \(L\) 的环上有 \(n\) 个黑点和 \(n\) 个白点 , 你需要把黑点和白点配对 , 使得配对点的最大距离最小 , 最小距离定义为两点在环上的两条路径的最 ...
- log4j 详细讲解
日志是应用软件中不可缺少的部分,Apache的开源项目log4j是一个功能强大的日志组件,提供方便的日志记录.在apache网站:jakarta.apache.org/log4j 可以免费下载到Log ...
- vsphere client 使用本地磁盘cd/vd1创建虚拟机 operating system not fond,解决办法
出现operating system not fond 后,狂敲enter键,然后就可以了.别问我为什么,我也是偶然在砸键盘的瞬间发现的
- 简单工厂模式的C++、Java实现
1.简单工厂模式UML UML如下: 图1. 简单工厂模式UML 2.C++实现 类视图如下: 图2. C++实现简单工厂模式类视图 其中,SimpleFactory实现为: Product * Si ...