项目3 JavaEE基础知识_第1页
项目3 JavaEE基础知识_第2页
项目3 JavaEE基础知识_第3页
项目3 JavaEE基础知识_第4页
项目3 JavaEE基础知识_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JavaEE基础知识 项目3 1 学习目标 熟悉前端开发框架Bootstrap3 了解列布局 熟悉JSTL标签库的使用 熟悉关系映射框架Hibernate 熟悉Spring框架 掌握spring的注解 1 了解Bootstrap3相关知识 1 了解Bootstrap3相关知识 Bootstrap是一个用于快速开发Web应用程序和网站的前端框架 Bootstrap为提供了Web界面开发的基本模块 包括Grid Typography Tables Forms Buttons Responsiveness Dropdowns Navigation Modals Typehead Pagination Carousal Breadcrumb Tab Thumbnails Headers等组件 通过这些组件 开发人员无需掌握太多的HTML和CSS知识 就可以快速地搭建起来一个Web界面 需要指出的是 Bootstrap是一个通用的框架 就像任何其他通用的东西 如果需要对该框架进行定制开发 就需要开发人员具备良好的HTML和CSS基础 才能对这个框架进行深入研究 相关知识 1 了解Bootstrap3相关知识 在学习这些组件前 首先介绍一下网盘项目基本的HTML结构 请注意 之所以首先说明结构 是为了简化开发过程 以及项目开发的编写规范 相关知识 1 了解Bootstrap3相关知识 Bootstrap的网格系统Bootstrap提供了一套响应式 移动设备优先的流式网格系统 随着屏幕的拉伸 系统会自动分为最多12列 如下所示 相关知识 1 了解Bootstrap3相关知识 网格选项右表总结了Bootstrap网格系统如何跨多个设备工作的 相关知识 1 了解Bootstrap3相关知识 基本的网格结构 下面是Bootstrap网格的基本结构 相关知识 1 了解Bootstrap3相关知识 Bootstrap的表格Bootstrap提供了一个清晰的创建表格的布局 1 表格类Bootstrap的表格样式见下表 相关知识 1 了解Bootstrap3相关知识 2 和类 Bootstrap表格的提示样式见下表 相关知识 1 了解Bootstrap3相关知识 3 基本的表格 如果想要实现一个只带有内边距 padding 和水平分割的基本表 请添加class table 如下面实例所示 相关知识 运行结果 1 了解Bootstrap3相关知识 Bootstrap的按钮 1 按钮类 Bootstrap提供了一些选项来定义按钮的样式 这些样式也可以应用到 和元素上 如见右表 相关知识 1 了解Bootstrap3相关知识 下面的实例演示了上面所有的按钮class 相关知识 运行结果 1 了解Bootstrap3相关知识 2 按钮组 按钮组允许多个按钮被堆叠在同一行上 当需要把按钮对齐在一起时 这就显得非常有用 可以通过Bootstrap按钮 Button 插件添加可选的JavaScript单选框和复选框样式行为 右表总结了Bootstrap提供的使用按钮组的一些重要的class 相关知识 1 了解Bootstrap3相关知识 3 基本的按钮组 下面的实例演示了上面表格中讨论到的class btn group的使用 按钮1按钮2按钮3运行结果如图 相关知识 1 了解Bootstrap3相关知识 本节要实现的网页如图 实现步骤 1 了解Bootstrap3相关知识 网盘的整个网页由头部 左侧导航 右侧主体三块区域构成 新建一个web项目 取名为Bootstrap3 test 然后在WebContent文件目录下创建main jsp文件 在该文件中添加以下代码 下面代码分几个部分讲解 所以需要整合修改 实现主界面框架 实现步骤 1 了解Bootstrap3相关知识 引入样式文件及基础js文件 这几个文件 会在后面提供 在标签区域引入相关CSS样式文件 实现步骤 在标签区域引入相关javascript文件 1 了解Bootstrap3相关知识 实现头部区域引用好基础样式及js脚本文件后开始编写网页头部代码 头部区域由topbar部分和frame header部分组成 topbar区域的html代码 实现步骤 1 了解Bootstrap3相关知识 实现导航区域编写好头部区域后进入侧边导航栏的编写 首先分析下左侧导航区域内容 可以看到导航区域主要由8个导航组成 实现步骤 1 了解Bootstrap3相关知识 实现文件主体内容区域文件主体内容区域代码主要分为两部分 一部分是按钮组 还有一部分是文件列表 在之前已经介绍过Bootstrap相关按钮组件以及表格组件 现在就来使用这些相关组件 文件内容区域主结构如下所示 实现步骤 1 了解Bootstrap3相关知识 按钮组包括上传 新建文件夹 删除 下载 重命名 复制 移动 数据分析等按钮 是网盘操作的主要入口 按钮组的html代码如下 实现步骤 1 了解Bootstrap3相关知识 文件列表区域主要使用Bootstrap表格布局 文件列表的html代码如下 实现步骤 1 了解Bootstrap3相关知识 在WebContent文件目录下创建assets文件夹 用来存放我们的js css文件及图片 然后在assets文件夹里新建images javascripts stylesheets三个文件夹 分别用来存放图片 js文件和css样式文件 具体的css文件 js文件的内容和项目所需要的图片 均会在配套资源内提供 实现步骤 1 了解Bootstrap3相关知识 功能验证测试将项目部署在Tomcat中并发布 在浏览器之中输入URL地址 查看网页效果 最终效果如图 实现步骤 2 了解JSTL相关知识 了解JSTL相关知识 JSP标准标签库 JSTL 是一个JSP标签集合 它封装了JSP应用的通用核心功能 JSTL支持通用的 结构化的任务 比如迭代 条件判断 XML文档操作 国际化标签 SQL标签 除了这些 它还提供了一个框架来使用集成JSTL的自定义标签 根据JSTL标签所提供的功能 可以将其分为5个类别 核心标签 格式化标签 SQL标签 XML标签和JSTL函数 核心标签是最常用的JSTL标签 引用核心标签库的语法如下 2 相关知识 了解JSTL相关知识 核心标签的使用见表 2 相关知识 了解JSTL相关知识 标签该标签的作用是判断表达式的值 如果表达式的值为true则执行其主体内容 语法格式如下 var scope 该标签的属性见表 2 相关知识 了解JSTL相关知识 标签该标签封装了for while do while循环 语法格式如下 begin end step var varStatus 2 相关知识 了解JSTL相关知识 标签的属性见表 2 相关知识 了解JSTL相关知识 标签标签与Javaswitch语句的功能一样 用于在众多选项中做出选择 Javaswitch语句中有case语句 而对应有标签 switch语句中有default语句 而标签对应有标签 该标签的语法格式如下 2 相关知识 了解JSTL相关知识 标签和标签没有属性 标签只有一个属性 见表 2 相关知识 了解JSTL相关知识 新建一个web项目JSTL test 将上一个项目的内容拷贝过来 实现文件类型显示首先需要将JSTL的核心标签库 也就是jstl jar和standard jar这两个文件 放在前面提到的lib文件夹内 然后打开main jsp文件 在文件的最上面添加如下代码 现在我们就可以在main jsp里使用jstl标签了 在头部区域有一块内容是根据当前不同的文件类型 显示不同的效果 这里就用到了 方法 根据后台传过来的type类型来显示不同的html代码 2 实现步骤 了解JSTL相关知识 实现步骤 然后将下面的代码替换main jsp中id yarnball 的div标签里的内容 2 了解JSTL相关知识 代码运行的效果如图 2 实现步骤 了解JSTL相关知识 实现步骤 实现文件列表显示在网盘中文件列表通过及方法来循环获取个人网盘中的内容 新建一个名为jstl的jsp页面 在页面的body部分插入如下代码 2 了解JSTL相关知识 实现步骤 由于现在没有后台代码 所以现在这段代码只是演示如何去写 暂时看不到结果 下面我们重新举一个小案例来看一下结果 在控制层之中添加代码 返回list数组在前台遍历 在JavaResources目录的src文件夹下新建一个包用来存放控制层文件 这个包的包名为com xiandian cloud storage web 然后在该包里新建一个servlet 名为UserController 该servlet的具体代码如下 2 了解JSTL相关知识 实现步骤 新建test jstl jsp文件使用jstl标签 代码如下 2 了解JSTL相关知识 实现步骤 功能验证测试将项目部署Tomcat中并发布 在浏览器中输入对应的URL地址 显示效果如图 2 3 了解Sping相关知识 了解Sping相关知识 Spring是一个开源框架 它由RodJohnson创建 它是为了解决企业应用开发的复杂性而创建的 Spring使用基本的JavaBean来完成以前只可能由EJB完成的功能 然而 Spring的用途不仅限于服务器端的开发 从简单性 可测试性和松耦合的角度而言 任何Java应用都可以从Spring中受益 实际上 Spring是一个轻量级的控制反转 IoC 和面向切面 AOP 的容器框架 3 相关知识 了解Sping相关知识 Spring框架的特点包括 轻量 从大小与开销两方面而言Spring都是轻量的 完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布 并且Spring所需的处理开销也是微不足道的 此外 Spring是非侵入式的 典型地 Spring应用中的对象不依赖于Spring的特定类 控制反转 Spring通过一种称作控制反转 IoC 的技术促进了松耦合 当应用了IoC 一个对象依赖的其他对象会通过被动的方式传递进来 而不是这个对象自己创建或者查找依赖对象 面向切面 Spring提供了面向切面编程的丰富支持 允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发 3 相关知识 了解Sping相关知识 容器 Spring包含并管理应用对象的配置和生命周期 在这个意义上它是一种容器 开发人员可以配置每个Bean如何被创建的 然而 Spring不应该被混同于传统的重量级的EJB容器 它们经常是庞大与笨重的 难以使用 框架 Spring可以将简单的组件配置 组合成为复杂的应用 在Spring中 应用对象被声明式地组合 典型地是在一个XML文件里 Spring也提供了很多基础功能 如事务管理 持久化框架集成等 使开发人员可以专注于将应用逻辑的开发 所有Spring的这些特征使你能够编写更干净 更可管理 并且更易于测试的代码 它们也为Spring中的各种模块提供了基础支持 3 相关知识 了解Sping相关知识 Spring包含的模块Spring框架由七个定义明确的模块组成 所有的Spring模块都是在核心容器之上构建的 如图 3 相关知识 了解Sping相关知识 核心容器这是Spring框架最基础的部分 它提供了依赖注入 DependencyInjection 特征来实现容器对Bean的管理 这里最基本的概念是BeanFactory 它是任何Spring应用的核心 BeanFactory是工厂模式的一个实现 它使用IoC将应用配置和依赖说明从实际的应用代码中分离出来 3 相关知识 了解Sping相关知识 应用上下文 Context 模块核心模块的BeanFactory使Spring成为一个容器 而上下文模块使它成为一个框架 这个模块扩展了BeanFactory的概念 增加了对国际化消息 事件传播以及验证的支持 另外 这个模块提供了许多企业服务 例如电子邮件 JNDI访问 EJB集成 远程以及时序调度 scheduling 服务 也包括了对模版框架例如Velocity和FreeMarker集成的支持 3 相关知识 了解Sping相关知识 Spring的AOP模块Spring在它的AOP模块中提供了对面向切面编程的丰富支持 这个模块是在Spring应用中实现切面编程的基础 为了确保Spring与其他AOP框架的互用性 Spring的AOP支持基于AOP联盟定义的API AOP联盟是一个开源项目 它的目标是通过定义一组共同的接口和组件来促进AOP的使用以及不同的AOP实现之间的互用性 通过访问他们的站点 可以找到关于AOP联盟的更多内容 Spring的AOP模块也将元数据编程引入了Spring 使用Spring的元数据支持 可以为源代码增加注释 指示Spring在何处以及如何应用切面函数 3 相关知识 了解Sping相关知识 JDBC抽象和DAO模块使用JDBC经常导致大量的重复代码 取得连接 创建语句 处理结果集 然后关闭连接 Spring的JDBC和DAO模块抽取了这些重复代码 因此可以保持数据库访问代码的干净简洁 并且可以防止因关闭数据库资源失败而引起的问题 对象 关系映射集成模块对那些更喜欢使用对象 关系映射工具而不是直接使用JDBC的人 Spring提供了ORM模块 Spring并不试图实现它自己的ORM解决方案 而是为几种流行的ORM框架提供了集成方案 包括Hibernate JDO和iBATISSQL映射 Spring的事务管理支持这些ORM框架中的每一个也包括JDBC 3 相关知识 了解Sping相关知识 Spring的Web模块Web上下文模块建立于应用上下文模块之上 提供了一个适合于Web应用的上下文 另外 这个模块还提供了一些面向服务支持 例如 实现文件上传的multipart请求 它也提供了Spring和其他Web框架的集成 比如Struts WebWork Spring的MVC框架Spring为构建Web应用提供了一个功能全面的MVC框架 虽然Spring可以很容易地与其他MVC框架集成 例如Struts 但Spring的MVC框架使用IoC对控制逻辑和业务对象提供了完全的分离 3 相关知识 了解Sping相关知识 SpringWebMVC架构SpringWebMVC框架是一个基于请求驱动的Web框架 并且也使用了前端控制器模式来进行设计 再根据请求映射规则分发给相应的页面控制器 动作 处理器 进行处理 SpringWebMVC处理请求的流程如图 3 相关知识 了解Sping相关知识 具体执行步骤如下 1 步骤1 2 用户发送请求到前端控制器 前端控制器根据请求信息 如URL 来决定选择哪一个页面控制器进行处理并把请求委托给它 即以前的控制器的控制逻辑部分 2 步骤3 4 5 页面控制器接收到请求后 进行功能处理 首先需要收集和绑定请求参数到一个对象 这个对象在SpringWebMVC中叫命令对象 并进行验证 然后将命令对象委托给业务对象进行处理 处理完毕后返回一个ModelAndView 模型数据和逻辑视图名 3 步骤6 7 前端控制器收回控制权 然后根据返回的逻辑视图名 选择相应的视图进行渲染 并把模型数据传入以便视图渲染 4 步骤8 前端控制器再次收回控制权 将响应返回给用户 3 相关知识 了解Sping相关知识 ModelAndView代码示例 publicModelAndViewgetModelAndView ModelAndViewview newModelAndView view addObject path view setViewName main returnview 3 相关知识 了解Sping相关知识 Spring注解注解是非常流行的技术 很多主流框架都支持注解 编写代码的时候尽量的去用注解 注解使用方便 也可以使代码更加简洁 Spring框架里面也有很多注解 下面主要介绍项目中涉及的几类注解 1 Controller 用于标注控制层组件 在SpringMVC中 控制器Controller负责处理由DispatcherServlet分发的请求 它把用户请求的数据经过业务处理层处理之后封装成一个Model 然后再把该Model返回给对应的View进行展示 Controller对应表现层的Bean 也就是Action 用法如下 ControllerpublicclassStorageControllerextendsBaseController 3 实现步骤 了解Sping相关知识 2 Service 用于标注业务层组件 对应的是业务层Bean 用法如下 ServicepublicclassSwiftStorageServiceextendsStorage 3 Repository 用于标注数据访问组件 即DAO组件 对应数据访问层Bean 用法如下 RepositorypublicclassShareDaoextendsBaseDao 3 相关知识 了解Sping相关知识 4 Autowired 可以对类成员变量 方法及构造函数进行标注 完成自动装配的工作 用法如下 AutowiredprivateShareServiceshareService 5 RequestMapping 可以处理请求地址映射 用法如下 RequestMapping home publicModelAndViewhome HttpServletRequestrequest HttpServletResponseresponse Stringpath 3 相关知识 了解Sping相关知识 使用了 RequestMapping注解后 Spring收到URL请求http localhost home 将自动调用home 方法处理该请求 6 ResponseBody 将返回类型直接输入到HTTPresponsebody中 通常用于JSON格式数据的输出 用法如下 RequestMapping login ResponseBodypublicObjectlogin HttpServletRequestrequest HttpServletResponseresponse Stringusername Stringpassword returnnewMessageBean true Constants SUCCESS 1 在用Ajax异步提交数据的时候 后台对接的方法需要加上 ResponseBody注解 3 相关知识 了解Sping相关知识 首先创建一个web项目 将前一个项目中的main jsp和css文件 js文件和图片都拷贝到这个项目的对应位置 如果要使用spring框架 必须导入需要使用的jar包 还需要配置 1 将需要的spring的jar包拷贝到lib文件夹中 2 修改web xml文件如下 3 实现步骤 了解Sping相关知识 3 在JavaResources文件目录下的src文件夹内创建applicationContest xml文件 代码如下 3 实现步骤 了解Sping相关知识 实现控制层利用Spring的框架来实现页面之间的跳转 代码如下 3 实现步骤 了解Sping相关知识 实现界面层在前端页面之中设置一个button按钮 代码如下 3 实现步骤 了解Sping相关知识 功能验证测试将项目部署到Tomcat中并发布 在浏览器之中输入URL地址 效果如图 3 实现步骤 了解Sping相关知识 输入账号和密码后 单击 登入 按钮后 切换到主界面 如图 3 实现步骤 4 了解Hibernate相关知识 了解Hibernate相关知识 Hibernate框架是一个开源的对象关系映射 ORM 框架 是对JDBC的轻量级的对象封装 使Java程序员可以使用面向对象的方式操纵数据库 Hibernate是一种ORM框架 在使用Hibernate时 开发人员需要创建一个和表结构 R 相对应的Java类 O 然后通过Hibernate将这两者相映射 M 这样对表的操作就完全转换为对Java对象的操作 ORM的原理如图 4 相关知识 了解Hibernate相关知识 Hibernate框架介于数据库和应用之间 技术架构如图 4 相关知识 了解Hibernate相关知识 Hibernate框架内容比较多 此处不详细讨论 只介绍项目涉及到的HQL相关技术 HQL HibernateQueryLanguage 是面向对象的查询语言 它和SQL查询语言相似 在Hibernate提供的各种检索方式中 HQL是使用最广的一种检索方式 在本项目的开发中 通过引入了HibernateTemplate完成对数据库增 save 删 remove 改 update 查 find 的操作 使用HibernateTemplate非常简单 创建HibernateTemplate实例后 注入一个SessionFactory的引用 就可执行持久化操作 4 相关知识 了解Hibernate相关知识 Hibernate的用法举例如下 1 增加数据库记录 Useruser newUser user setXXX dao save user 2 删除数据库记录 更加id获取用户Useruser dao get id dao remove user 4 相关知识 3 更新操作记录 更加id获取用户Useruser dao get id dao update user 4 查询数据库记录 hql查询语句Stringhql fromUser Listusers find hql 了解Hibernate相关知识 首先将前一个项目拷贝一份 将项目名称改为hibernate test 1 实现对数据库的查询操作在src文件夹创建几个包 用于存放service层 dao层代码等 创建包com xiandian cloud storage bean com xiandian cloud storage cons com xiandian cloud storage dao com xiandian cloud storage domain com xiandian cloud storage service 4 实现步骤 了解Hibernate相关知识 2 创建几个基础的类在bean包下创建MessageBean类 代码如下 4 实现步骤 了解Hibernate相关知识 在cons包下创建Constants类 用来存放常量值 代码如下 4 实现步骤 了解Hibernate相关知识 在dao包下创建BaseDao类 代码如下 4 实现步骤 了解Hibernate相关知识 在dao包中再创建一个类UserDao 代码如下 4 实现步骤 了解Hibernate相关知识 在domain包下创建Ba

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论