收藏 分享(赏)

ssh-框架搭建和应用.ppt

上传人:无敌 文档编号:315819 上传时间:2018-03-28 格式:PPT 页数:47 大小:215.50KB
下载 相关 举报
ssh-框架搭建和应用.ppt_第1页
第1页 / 共47页
ssh-框架搭建和应用.ppt_第2页
第2页 / 共47页
ssh-框架搭建和应用.ppt_第3页
第3页 / 共47页
ssh-框架搭建和应用.ppt_第4页
第4页 / 共47页
ssh-框架搭建和应用.ppt_第5页
第5页 / 共47页
点击查看更多>>
资源描述

1、SSH 框架搭建和应用,课程概要,Struts、Spring 、Hibernate 三大框架概述及整合实战项目的需求分析及模块功能划分数据库ORM的实现多层结构的设计前端设计,SSH 框架搭建和应用,SSH 三大框架整合概述,SSH 三大框架整合概述,什么是框架 Struts 框架概述 Spring 框架概述 Hibernate 框架概述 SSH 框架整合开发模式概述,SSH 三大框架整合概述 什么是框架,框架:是可重用的、半成品的应用程序模块,它可以用来产生专门的定制程序。,SSH 三大框架整合概述 Struts 框架,Struts 2体系结构,SSH 三大框架整合概述 Spring 框架,

2、Spring 框架的组件结构图,SSH 三大框架整合概述 Hibernate 框架,Hibernate 体系结构,SSH 三大框架整合概述 SSH 框架整合开发模式,SSH 框架整合开发模式,SSH 框架搭建和应用,SSH 三大框架搭建及整合,SSH 三大框架搭建及整合,Struts 框架搭建及配置 Spring 框架搭建及配置 Hibernate 框架搭建及配置 三大框架整合,SSH 三大框架搭建及整合 Struts 框架搭建及配置,学习目标:比较Struts2与JavaBean和Servlet的异同具体实例:登录功能如果用户输入admin,密码123456,则登录成功,跳转到主页index

3、.jsp,否则登录失败,跳转到error.jsp.,SSH 三大框架搭建及整合 Struts 框架搭建及配置,引入Struts2,修改web.xmlstruts2org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterstruts2/*,SSH 三大框架搭建及整合 Struts 框架搭建及配置,新建struts.xml,放入src目录/index.jsp/error.jsp,SSH 三大框架搭建及整合 Struts 框架搭建及配置,新建login.jsp,index.jsp,error.jsp.login.jsp

4、中加入表单对象,实现登录功能,action指向Strtus,即user/login.action。用户名:密码:,SSH 三大框架搭建及整合 Struts 框架搭建及配置,新建java类 UserAction,包名为:package cn.edu.lnut.dxxy.sshdemo.action; public class UserAction private String username;private String userpwd;public String login()if(username.equals(admin) .,SSH 三大框架搭建及整合 Spring 框架搭建及配置,在

5、web.xml中,加入对spring框架的引用Spring配置文件路径contextConfigLocationclasspath:spring.xmlorg.springframework.web.context.ContextLoaderListener,SSH 三大框架搭建及整合 Spring 框架搭建及配置,在src目录中,新建spring.xml文件,SSH 三大框架搭建及整合 Spring 框架搭建及配置,整合struts和springspring配置文件中,加入:struts配置文件中,修改/index.jsp/error.jsp,SSH 三大框架搭建及整合 Hibernate框

6、架搭建及配置,Hibernate模型设计配置项目文件多层结构:service model dao在model层中,加入User类Entitypublic class User implements Serializableprivate int userid;private String username;private String userpwd;IdGeneratedValuepublic int getUserid() return userid;public void setUserid(int userid) this.userid = userid;.,SSH 三大框架搭建及整合

7、 Hibernate框架搭建及配置,整合Hibernate和springspring配置文件中,加入数据库的相关配置信息。具体内容见文本文件:spring+hibernate.txt启动项目,检查user表是否被自动创建自此,SSH框架的整合基本完成,接下来进入到SSH框架的应用学习。,SSH 框架搭建和应用,SSH 框架应用,SSH 框架应用,分层设计 HibernateTemplate的应用 Spring 框架的IOC应用 面向对象程序设计 FreeMarker的使用 Quartz的使用 CXF的使用,SSH 框架应用 HibernateTemplate的应用,分层设计中的Dao层设计pu

8、blic class UserDao private HibernateTemplate hibernateTemplate;public HibernateTemplate getHibernateTemplate() return hibernateTemplate;public void setHibernateTemplate(HibernateTemplate hibernateTemplate) this.hibernateTemplate = hibernateTemplate;,SSH 框架应用 HibernateTemplate的应用,分层设计中的Dao层设计public v

9、oid save(User user) hibernateTemplate.save(user);SuppressWarnings(unchecked)public User login(User user) List num = hibernateTemplate.find(from User a where a.username=? and a.userpwd=?,user.getUsername(), user.getUserpwd();if (num.size() 0) return num.get(0);return null;,SSH 框架应用 Spring 框架的iOC应用,Sp

10、ring配置文件中加入Dao层的对应bean,同时通过属性注入自动创建对象这样,userDao就准备好了,等待被调用。考虑到代码比较简单,这里我们忽略了逻辑层的设计,也就是从struts直接访问Dao层,SSH 框架应用 Spring 框架的iOC应用,修改UserAction,直接访问Dao层,对数据库操作加入:private UserDao userDao;同时设置成可读可写。public String login() User user = new User();user.setUsername(username);user.setUserpwd(userpwd);if (userDao

11、.login(user) != null)return index;elsereturn error;同时修改Spring配置文件,属性注入userDao到userAction中。,SSH 框架应用 Struts框架与面向对象相结合,修改UserAction,直接操作User类的实例public class UserAction private User user;private UserDao userDao;public String login() if (userDao.login(user) != null)return index;elsereturn error;public U

12、ser getUser() return user;public void setUser(User user) this.user = user;public UserDao getUserDao() return userDao;public void setUserDao(UserDao userDao) this.userDao = userDao;,SSH 框架应用 Struts框架与面向对象相结合,修改login.jsp,表单对象的名称修改如下:登录窗体用户名:密码:这样,输入的表单值就被组装成User类的实例user,并自动填充了username和userpwd的值,送到acti

13、on中,直接传送到dao层。由此,ssh框架全线打通。作业:独立完成增加用户操作。前端页面adduser.jsp,SSH 框架应用 Freemarker的使用,FreeMarker是什么?FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。FreeMarker模板文件主要由如下4个部分组成: 1,文本:直接输出的部分 2,注释:格式部分,不会输出 3,插值:即$.或#.格式的部分,将使用数据模型中的部分替代输出 4,FTL指令:FreeMarker指定,和HTML标记类似,名字前加#予以区分,不会输出,SSH 框架应用 Freemarker的使用,FreeMark

14、er能做什么 MVC框架中的View层组件 Html页面静态化 代码生成工具 CMS模板引擎 页面栏目动态定制为什么要用FreeMarker 程序逻辑(Java 程序)和页面设计(FreeMarker模板)分离 分层清晰,利于分工合作 主流Web框架良好的集成(struts2,springmvc) 简单易学、功能强大 免费开源,SSH 框架应用 Freemarker的使用,以列表显示数据表user中所有数据为例,开始使用FreeMarkerdao层:SuppressWarnings(unchecked)public List list()List userList = hibernateTem

15、plate.find(from User a);return userList;,SSH 框架应用 Freemarker的使用,以列表显示数据表user中所有数据为例,开始使用FreeMarkeraction层:public String list()List users=userDao.list();ActionContext.getContext().put(users, users);return index;,SSH 框架应用 Freemarker的使用,以列表显示数据表user中所有数据为例,开始使用FreeMarkerstruts.xml:/index.html,SSH 框架应用

16、Freemarker的使用,以列表显示数据表user中所有数据为例,开始使用FreeMarkerindex.html:$user.userid-$user.username-$user.userpwd,SSH 框架应用 Quartz的使用,什么是Quartz?Quartz是一个完全由java编写的开源作业调度框架。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的程序。,SSH 框架应用 Quartz的使用,创建要执行的Jobpackage cn.edu.lnut.dxxy.sshdemo.job;import org.quartz.Job;import org.

17、quartz.JobExecutionContext;import org.quartz.JobExecutionException;public class MyFirstJob implements Job Overridepublic void execute(JobExecutionContext arg0) throws JobExecutionException / TODO Auto-generated method stubSystem.out.println(nihao);,SSH 框架应用 Quartz的使用,在spring.xml中配置Job信息其中cronExpress

18、ion是执行的时间周期,可以用工具自动生成。,SSH 框架应用 Quartz的使用,在spring.xml中配置Job信息不要忘记在src目录下加入quartz.properties文件,同时修改数据库连接信息,并将quartz.sql数据导入。,SSH 框架应用 CXF的使用,什么是CXF?Apache CXF 是一个开源的 Services 框架,CXF 帮助您利用 Frontend 编程 API 来构建和开发 Services ,像 JAX-WS 。这些 Services 可以支持多种协议,比如:SOAP、XML/HTTP、RESTful HTTP 或者 CORBA ,并且可以在多种传输

19、协议上运行,比如:HTTP、JMS 或者 JBI,CXF 大大简化了 Services 的创建,同时它继承了 XFire 传统,一样可以天然地和 Spring 进行无缝集成。,SSH 框架应用 CXF的使用,定义接口,加上WebService注解WebServicepublic interface MyFirstInterface public User login(User user);这里要注意,如果User类在WebService中作为参数传递变量,该类一定是一个序列化的javabean。,SSH 框架应用 CXF的使用,User类序列化Entitypublic class User i

20、mplements Serializable /* * */private static final long serialVersionUID = 1L;,SSH 框架应用 CXF的使用,编写接口实现类WebService(endpointInterface = cn.edu.lnut.dxxy.sshdemo.ws.MyFirstInterface, serviceName = myFirstInterface)public class MyFirstWebService implements MyFirstInterface private UserDao userDao;Overrid

21、epublic User login(User user) / TODO Auto-generated method stubreturn userDao.login(user);public UserDao getUserDao() return userDao;public void setUserDao(UserDao userDao) this.userDao = userDao;,SSH 框架应用 CXF的使用,spring中配置CXF,SSH 框架应用 CXF的使用,web.xml中配置CXF CXFServlet org.apache.cxf.transport.servlet.

22、CXFServlet 1 CXFServlet /ws/* ,SSH 框架应用 CXF的使用,web.xml中配置CXF 为了保证服务接口可以对外开放,struts的拦截需要调整struts2org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterstruts2*.jspstruts2*.action,SSH 框架应用 CXF的使用,访问CXF http:/localhost:8080/sshdemo/ws/该接口是通用的WebService接口,可以通过其它任意客户端发起请求。例如:安卓客户端, .NET客户端,可以尝试一下。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报