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框架的更多相关文章

  1. 学习SSH框架

    1.SSH框架的认知 在做相关的java的网页的开发制作时,良好的层次分解是十分有比要的,所以我们在云涌第三方的框架之下来简化还有名了我们相关的网站的开发. SSH框架实则为Struct + spri ...

  2. 从零开始学习SSH框架笔记之四 几个关键配置文件备忘(模板)

    不多说,直接上代码.关于注释我尽量写详细点. 1.web.xml <?xml version="1.0" encoding="UTF-8"?> &l ...

  3. SSH框架(三) struts2的登陆示例

    因为最近在学习使用SSH框架(struts2+spring+hibernate),下面来介绍表现层struts2的使用方法. (一)添加struts2的包 见上一篇博客,先看一下添加的各个文件的目录结 ...

  4. 对于SSH框架的选择

    选择框架:SSH 对于Web开发来说,SSH框架可以提高开发效率,还可以方便需求的变更以及对后期维护方面更容易操作.SSH也是目前稍微流行的Web开发框架. 选择框架描述: 首先说明一下SSH并不是一 ...

  5. [原创]java WEB学习笔记54:Struts2学习之路---概述,环境的搭建

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  6. 【转载】SSH框架总结(将网上朋友写的给整合了下)

    一.Struts 在没有学习SSH框架前,我们一般采用Jsp+javabean+servlet开发,这里就是MVC架构.而Struts其实就是替代了Servlet,我们知道Servlet在一般的开发中 ...

  7. 为什么大多数培训机构还停留在只教ssh框架?

    最近听一些朋友说,招聘面试的很多人简历都差不多,大部分人的简历上面都写了熟悉ssh框架,我朋友就在吐槽,为什么这些人简历都差不多,并且都熟悉ssh框架? 后面他说, 可能这些人都是培训机构出来的, 然 ...

  8. 为什么要放弃ssh框架

    本文是转载他人的,觉得很好,分享! 最近听一些朋友说,招聘面试的很多人简历都差不多,大部分人的简历上面都写了熟悉ssh框架,我朋友就在吐槽,为什么这些人简历都差不多,并且都熟悉ssh框架? 后面他说, ...

  9. ssh框架被淘汰的原因

    SSH就是Struts2+Spring+Hibernate. 三个组件的简单介绍 Struts2:通俗的讲就是为了完成MVC模型中的C的功能,也就是编写具体的业务逻辑的地方.从他的设计上来看就是请求到 ...

随机推荐

  1. angular-ui-router动态加载模块

    1.定义index.html主页,对于通用的js就不用require依赖加载了,其中main.js作为主模块,用require添加系统路由模块. <!DOCTYPE html> <h ...

  2. [转]Web API Introduction to OData Services using ASP.NET Web API

    本文转自:http://mahedee.net/tag/web-api/ What is OData? OData Stands for Open Data Protocol. It is a dat ...

  3. Agile software Development

    转自:https://www.cnblogs.com/kkun/archive/2011/07/06/agile_software_development.html 敏捷软件开发 Agile soft ...

  4. Oracle中实现find_in_set

    CREATE OR REPLACE FUNCTION FIND_IN_SET(piv_str1 varchar2, piv_str2 varchar2, p_sep varchar2 := ',') ...

  5. 【转】js判断一个object对象是否为空

    判断一个对象是否为空对象,本文给出三种判断方法: 1.最常见的思路,for...in... 遍历属性,为真则为“非空数组”:否则为“空数组” for (var i in obj) { // 如果不为空 ...

  6. 关于display:inline-block布局导致错位问题分析

    移动端设计稿需求是这样的,如下图: 未知的几个头像从左至右并行居中排列. 一般可能直接使用float,但是设计图要求头像排列始终是居中的,于是想到要让它们成为行内元素,然后可使用的方法有flex bo ...

  7. 微信小程序中使用wxParse展示HTML内容

    wxParse的GitHub地址:https://github.com/icindy/wxParse 一.数据内容: 请求地址:https://m.quanchepin.com/index.php?a ...

  8. Java jdbc入门

    1 jdbc入门 1.1 之前操作数据 1)通过mysql的客户端工具,登录数据库服务器  (mysql -u root -p 密码) 2)编写sql语句 3)发送sql语句到数据库服务器执行 1.2 ...

  9. html+css中常见的浏览器兼容性处理

    1.居中问题 div里的内容,IE默认为居中,而FF默认为左对齐,可以尝试增加代码margin: 0 auto; 2.高度问题 两上下排列或嵌套的div,上面的div设置高度(height),如果di ...

  10. <Android 应用 之路> 百度地图API使用(3)

    前言 上一篇讲解并实践了百度地图基本显示,地图类型,实时交通图,热力图,地图控制和手势控制,今天看下在地图上添加view和覆盖物. 地图Logo不允许遮挡,可通过mBaiduMap.setPaddin ...