https://www.cnblogs.com/tuhooo/p/6491906.html
一、java web基础
核心标准 URL HTTP HTML
HTTP 请求:请求行 请求报头 请求体
响应:状态行 响应报头 响应正文
tomcat轻量级的web应用服务器
关闭被占用端口的进程的方法:http://blog.csdn.net/u011182412/article/details/53893587
①netstat -ano|findstr 8080 ②taskkill /pid 查出来的/f
mysql下载地址:https://dev.mysql.com/downloads/file/?id=474803
mysql安装教程:https://www.cnblogs.com/chengxs/p/5986095.html
myeclipse 下载地址及安装教程:http://www.cnblogs.com/hoobey/p/5512924.html
JDBC(Java Database connectivity)是java程序与数据库系统通信的标准api
使用JDBC访问MySql数据库的代码:
JSP指的是Java Server Pages java服务器动态网页
bean代表实体类用来与数据库表或者其他进行映射
二、表现层 Struts技术
MVC Model模型 View视图 Controller控制器
模型层代表的是企业数据和其对应的业务逻辑,它控制着对数据的处理和更新。
视图层是模型层中的各个模型的具体表现形式。
控制层在MVC结构中连接模型层和视图层,起到纽带作用。将视图层的交互信息进行过滤等处理后,再传送到模型层相应的业务逻辑处理程序进行处理。
struts2的体系结构
Struts2的工作流程:
(1)浏览器发出请求
(2)控制层中的核心控制器FilterDispatcher根据请求调用相应的Action
(3)Struts2的拦截器链(即一系列拦截器)自动对请求调用一些通用的控制逻辑。
(4)回调Aciton中的execute()方法,并在方法内调用业务逻辑组件,即javabean处理请求。
(5)execute()方法返回后产生一个输出。
(6)该输出经过拦截器链自动处理
(7)控制层最后将数据返还并更新视图层。
1、FilterDispatcher控制层:
根据用户提交的URL和struts.xml中的配置,选择合适的action,让这个action处理用户请求。
2、Action模型层:
负责把用户请求的参数组装成合适的数据模型,并调用响应的业务逻辑进行真正的功能处理,然后产生下一个视图展示所需要的数据。最后得到下一个视图所需要的信息,并传递给控制层中的拦截器链。
3、Result视图层
主要用来与用户进行交互,它将从控制层得到的数据通过适合的展示方式展现给用户,让用户与之交互更加简洁简单。
工程配置文件web.xml 配置了struts2的核心filter以及进入web页面后的首页index.jsp
配置文件struts.properties 配置了web页面的默认编码集
控制器文件struts.xml 配置了action和对应请求之间的对应关系
前段页面index.jsp success.jsp 视图层,表示信息
后台struts处理程序TestAction.java
标签:
action业务逻辑处理对象
三、持久层Hibernate
持久化指的是将内存中的数据保存到磁盘等存储设备中。文本文件、xml、关系数据库。
ORM object relation map 对象关系映射
Hibernate下载地址:https://sourceforge.net/projects/hibernate/files/hibernate-orm/5.2.15.Final/hibernate-release-5.2.15.Final.zip/download
https://sourceforge.net/projects/hibernate/files/hibernate3/3.6.10.Final/hibernate-distribution-3.6.10.Final-dist.zip/download
tools在esclipsse中的配置方法:http://blog.sina.com.cn/s/blog_14ecbc3ed0102wszm.html
使用Hibernate开发项目的步骤:
(1)准备开发环境,创建Hibernate项目
(2)在数据库中创建数据表
(3)创建持久化类
(4)设计映射文件,使用Hibernate映射文件将POJO对象映射到数据库
(5)创建Hibernate的配置文件Hibernate.cfg.xml
(6)编写辅助工具类HibernateUtils类,用来实现对Hibernate的初始化并提供获得Session的方法
(7)编写DAO层类 DAO指数据库访问对象
(8)编写Service层类
(9)编写测试类
Configure类主要用来读取配置文件,启动Hibernate,并负责管理Hibernate的配置信息。一个程序只创建一个configure对象。
SessionFactory主要用来生成session对象。初始化Hibernate
Session对象的生命周期以Transaction对象的事务开始和结束为边界,提供了一系列与持久化相关的操作。持久化管理器
Transaction主要用于管理事务,是Hibernate的数据库事务接口,它对底层的事务接口进行了封装
Query是Hibernate的查询接口,用于向数据库中查询对象,并控制执行查询的过程。
四、业务层框架Spring技术
spring框架基于java平台,为应用程序的开发提供了全面的基础设施支持。
下载地址:http://repo.spring.io/release/org/springframework/spring/
五、SSH框架整合开发
表示层:struts框架
业务层:struts的actions类+业务逻辑实现类
中文编码 UTF-8,引入控制编码的过滤器com.util.SetCharacterEncodingFilter ,在web.xml中
在spring中集成hibernate实际上就是将hibernate中用到的数据源DataSource、SessionFactory实例以及事务管理器都交给spring容器管理,由spring向发开人员提供统一的模板化操作。
datasource主要配置数据库的连接属性,sessionFactory主要管理Hibernate的配置、
Spring集成Struts主要有两种上下文装载方式和3种整合方法。
上下文装载:
在web.xml文件中装载spring上下文:①使用ServletContextListener配置 监听器类
②使用load-on-startup Servlet配置 Servlet
Spring集成struts2的目的是将struts2中的action的实例化工作交由spring容器统一管理,同时使得struts2中的action实例能够访问spring提供的业务逻辑组件资源。而spring容器自身所具有的依赖注入的优势也可以充分发挥。
spring集成struts2的步骤:①将spring3框架所依赖的jar包复制到WEB-INF的lib文件夹下;
②将以下struts2类包添加到类路径下。
③编写struts2配置文件struts.xml,将objectfactory设置为spring
④配置web.xml文件,让web应用启动时能自动加载spring容器
实例步骤:(1)新建项目
(2)新建包,定义类,是一个action
(3)在spring的配置文件applicationContext.xml中配置struts2的action实例,以便 使用spring容器提供给我们的各种功能。
(4)在struts.xml中配置所有struts2的action,注class属性不再使用类全名。而使用 bean的实例名。
(5)编写web.xml文件,使用contextloaderlistener初始化spring容器
(6)编写success.jsp
IoC(Inversion of Control) 即控制反转,它使程序组件或类之间尽量形成一种松耦合的结构,开发者在使用类的实例之前,需要先创建对象的实例。但是ioc将创建实例的任务交给ioc容器,这样开发应用代码时只需要直接使用类的实例。
bean就是由spring容器初始化、装配及被管理的对象。
六、SSH框架实例一 用户管理系统
1、四个功能:用户的添加、用户的删除、用户信息的更新以及查询指定用户信息。
2、系统结构:
表现层:由多个JSP页面组成
MVC层:使用Struts2框架技术
业务逻辑层:使用业务逻辑组件构成
DAO层:由DAO组件组成
Hibernate持久层:使用Hibernate3框架
数据库层:使用MySQL数据库来存储系统数据
3、搭建过程:
①数据库层,mysqldb库中的USER表
②Hibernate持久层设计包含:
定义系统中用到的持久化类(java类,数据表的字段,setget方法)
编写各个持久化类对应的映射文件(XXX.hbm.xml) java类名映射table
③DAO层设计:主要包含sessionFactory的配置、DAO接口的创建以及DAO接口的实现类。
spring管理SessionFactory 创建DAO接口 创建DAO实现类
④业务逻辑层设计:
创建业务逻辑组件接口 创建业务逻辑组件的实现类
对DAO层类增加一层封装
⑤表现层开发:
各个显示页面的开发 业务控制器action的开发
⑤完成用户登录设计
整合struts2和spring 创建用户登录action 用户登录页面 配置控制器
⑥使用spring技术集成struts和hibernate
spring集成hibernate,通过applicationContext.xml文件完成,在该文件中定义数据源,并完成对SessionFactory的配置和管理,和bean的配置,依赖注入
整合struts2和spring,通过web.xml文件完成,配置筛选器、监听器。
七、基于struts、spring、hibernate的轻量级架构
(1)表现层:有struts实现,主要完成如下任务:管理用户请求和响应;提供一个控制器代理以调用业务逻辑和各层的处理;处理从其他层抛出给strutsaction的异常;为显示提供数据模型。
(2)持久层:由hibernate实现。它通过一个面向对象的查询语言或正则表达式的API来检索对象的相关信息。还负责存储、更新、删除数据库记录。同时hibernate支持大部分主流数据库,且支持父表/子表关系、事务处理、继承和多态。
(3)业务层:由spring实现,利用延时注入思想组装代码,提高了系统扩展性和灵活性,实现插件式编程。利用AOP思想,集中处理业务逻辑,减少重复代码,构建了较理想的解决方案。利用其对hibernate的会话工厂、事务管理的封装,可以更简洁地应用hibernate。
三层的整合:
struts和spring:在struts中action的创建交给spring,但是要注意action是多实例的;
hibernate和spring:hibernate的核心类是sessionFactory,这里要把sessionFactory的创建交给spring管理;hibernate的核心文件中进行了数据库信息的配置,这里也要交给spring处理;为dao对象配置持久层的spring提供的template。