没有合适的资源?快使用搜索试试~ 我知道了~
MVC和分页1
需积分: 0 0 下载量 14 浏览量
2022-08-04
11:33:26
上传
评论
收藏 1.1MB PDF 举报
温馨提示
试读
24页
第一章 MVC模式简介1.1 MVC的概念首先我们需要知道MVC模式并不是javaweb项目中独有的,MVC是一种软件工程中的一种软件架构模式,把软件系统分为三
资源详情
资源评论
资源推荐
MVC和分页
课前默写
课程回顾
今日内容
教学目标
第一章 MVC模式简介
1.1 MVC的概念
首先我们需要知道MVC模式并不是javaweb项目中独有的,MVC是一种软件工程中的一种软件架构模式,把软件系
统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller),即为MVC。它是一种软件设计的
典范,最早为Trygve Reenskaug提出,为施乐帕罗奥多研究中心(Xerox PARC)的Smalltalk语言发明的一种软件
设计模式
1.2 MVC模式详解
虽然MVC并不是Java当中独有的,但是现在几乎所有的B/S的架构都采用了MVC框架模式,但是MVC在B/S架构中
并没有完全地实现,其实我们根本不需要掌握未实现的部分。
控制器Controller:控制器即是控制请求的处理逻辑,对请求进行处理,负责请 求转发;
视图View:视图即是用户看到并与之交互的界面,比如HTML(静态资源),JSP(动态资源)等等。
1、写出Cookie的
2、写出Servlet实现页面跳转的方式
3、写出Servlet的生命周期
4、写出Servlet的两种配置方式
5、写出ServletContext的常用方法
1、Cookie的使用
2、Session的使用
1、什么是过滤器
2、过滤器链
3、过滤器的优先级和参数
4、过滤器的典型应用
5、什么是监听器
6、常用的监听器
1、熟悉什么是过滤器
2、掌握过滤器链
3、掌握过滤器的优先级和参数
4、掌握过滤器的典型应用
5、熟悉什么是监听器
6、掌握常用的监听器
千锋JAVA教学部
模型Model:模型代表着一种企业规范,就是业务流程/状态的处理以及业务规则的规定。业务流程的处理过
程对其他层来说是不透明的,模型接受视图数据的请求,并返回最终的处理结果。业务模型的设计可以说是
MVC的核心。
1.3 MVC高级框架应用
MVC模式被广泛用于Java的各种框架中,比如Struts2、spring MVC等等都用到了这种思想。
Struts2是基于MVC的轻量级的web应用框架。基于MVC,说明基于Struts2开发的Web应用自然就能实现MVC,也
说明Struts2着力于在MVC的各个部分为我们的开发提供相应帮助
第二章 JavaWeb的三层架构
2.1 JavaWeb经历三个时期
2.1.1 JSP Model1第一代
JSP Model1是JavaWeb早期的模型,它适合小型Web项目,开发成本低!Model1第一代时期,服务器端只有JSP页
面,所有的操作都在JSP页面中,连访问数据库的API也在JSP页面中完成。也就是说,所有的东西都耦合在一起,
对后期的维护和扩展极为不利。
2.1.2 JSP Model1第二代
JSP Model1第二代有所改进,把业务逻辑的内容放到了JavaBean中,而JSP页面负责显示以及请求调度的工作。虽
然第二代比第一代好了些,但还让JSP做了过多的工作,JSP中把视图工作和请求调度(控制器)的工作耦合在一起
了。
2.1.3 JSP Model2
千锋JAVA教学部
JSP Model2模式已经可以清晰的看到MVC完整的结构了。
JSP:视图层,用来与用户打交道。负责接收用来的数据,以及显示数据给用户;
Servlet:控制层,负责找到合适的模型对象来处理业务逻辑,转发到合适的视图;
JavaBean:模型层,完成具体的业务工作,例如:开启、转账等。
小结:这就是javaweb经历的三个年代,JSP Model2适合多人合作开发大型的Web项目,各司其职,互不干涉,有
利于开发中的分工,有利于组件的重用。但是,Web项目的开发难度加大,同时对开发人员的技术要求也提高了。
第三章 MVC结合事务练习
通过结合事务和MVC知识,练习一个转账demo
3.1 项目准备
创建web项目
导入需要jar包
c3p0-0.9.1.2.jar
千锋JAVA教学部
commons-beanutils-1.8.3.jar
commons-dbutils-1.4.jar
commons-logging-1.1.1.jar
添加c3p0配置文件
c3p0-config.xml
3.2 编写前端页面
转账页面
<c3p0‐config>
<!‐‐默认配置,如果没有指定则使用这个配置‐‐>
<default‐config>
<propertyname="driverClass">com.mysql.jdbc.Driver</property>
<propertyname="jdbcUrl">jdbc:mysql://localhost:3306/day16</property>
<propertyname="user">root</property>
<propertyname="password">222</property>
<propertyname="initialPoolSize">10</property>
<propertyname="maxIdleTime">30</property>
<propertyname="maxPoolSize">20</property>
<propertyname="minPoolSize">5</property>
<propertyname="maxStatements">200</property>
</default‐config>
</c3p0‐config>
<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF‐8"%>
<%
Stringpath=request.getContextPath();
StringbasePath=
request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPEHTMLPUBLIC"‐//W3C//DTDHTML4.01Transitional//EN">
<html>
<head>
<basehref="<%=basePath%>">
<title>MyJSP'transfer.jsp'startingpage</title>
<metahttp‐equiv="pragma"content="no‐cache">
<metahttp‐equiv="cache‐control"content="no‐cache">
<metahttp‐equiv="expires"content="0">
<metahttp‐equiv="keywords"content="keyword1,keyword2,keyword3">
<metahttp‐equiv="description"content="Thisismypage">
<!‐‐
<linkrel="stylesheet"type="text/css"href="styles.css">
千锋JAVA教学部
剩余23页未读,继续阅读
晕过前方
- 粉丝: 114
- 资源: 328
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 部署yolov8的tensorrt模型支持检测分割姿态估计的C++源码+部署步骤.zip
- 以简单、易用、高性能为目标、开源的时序数据库,支持Linux及Windows, Time Series Database.zip
- python-leetcode面试题解之第198题打家劫舍-题解.zip
- python-leetcode面试题解之第191题位1的个数-题解.zip
- python-leetcode面试题解之第186题反转字符串中的单词II-题解.zip
- 一个基于python的web后端高性能开发框架,下载可用
- python-leetcode面试题解之第179题最大数-题解.zip
- python-leetcode面试题解之第170题两数之和III数据结构设计-题解.zip
- python-leetcode面试题解之第168题Excel表列名称-题解.zip
- python-leetcode面试题解之第167题两数之和II输入有序数组-题解.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0