基于servlet,jsp,来进行MVC思想的剖析 第一部分

这个简单的MVC遵循下图为整体思路

解读MVC思想(jsp和servlet实现),其实MVC(Model,view,controllor)思想就是把代码分离开来各自分工合作,首先让我们结合实例来进行分析,看我们这个项目下会有一个FrontControllor.java

这个是用来进行处理请求的一个前段控制期用来处理一个前端发来的请求,让我们先来看一下前端控制器的内部实现原理吧!

继承了HttpServlet类并且覆盖了init()方法,并且通过super.init()可以知道,此方法覆盖相当于追加,大家一定好奇什么是ResourceBundle,那让我们来看一下API是怎么说的:资源包属于这样的系列,其成员共享一个公共的基本名称,但是名称中还有标识其语言环境的其他组件。例如,某个资源包系列的基本名称可能是 "MyResources"。该系列应该有一个默认资源包,其名称与其系列名相同( "MyResources"),如果不支持指定的语言环境,则应该将此资源包用作最后的手段。然后,此系列可根据需要提供特定于语言环境的成员,例如一个名为 "MyResources_de" 的德语资源包。 (我的天啊,小编都惊讶了,这不会是国际化吧?)我的理解是这个类可以统配一些资源包然后根据不同的语言环境切换道当前合适的资源包,让我们看一下这个类是如何使用这个方法的:如下图

实例化ResourceBundle类产生一个rb对象,rb对象属于”action”(知识扩展,通过31行我们可以推理出.getBundle()是一个静态方法,还不知道的小伙伴需要抓紧了复习java基础知识啦!),getKeys()是一个非静态方法,得到的是键值对里面的key的枚举,枚举是Enumeration它具有的方法只有两个,hasMoreElements(),nextElement(),通过key得到value(属于rb的键值对)接下来麻烦了,同学们业不理解下面这段代码啊!那好让我们一起来进行一下学习和解读:

反射编程的一些小的初级体会总结大体如下文字:  String A="java.util.Date";都是等效的。

Class.forName(A).newInstance;

new Date();

Date.class.newInstance;

Date d;

d.getClass.newInstance;

那么请问actions(是一个Map)里面存的value是什么东西?答案是已经实例化后的对象.接下来寻找那个资源包吧!如下图:

接着向下看

原理如同actions一样,不解释!

接下来核心代码!

从代码中我们不难发现我们这个前端控制器的主要罗技控制模块为这个都post方法理解起来真的很难,那就让我们一步一步的拆分吧!

74-75由于逻辑地址是*.action也就是说所有的以.action结尾的请求地址都是会被这个类所拦截获取其请求信息,那让我们来看一下这个就是获取了请求地址,然后对请求地址进行拆分, 第一步先获取请求页面.action去除.action就只剩单纯的请求页面了也就是actionurl,78-79行的含义是定义用来处理(model)这个页面的****Action.java和所需要的方法。一个感叹号可以把请求页面分割开来感叹号前面是一个请求页面对应url.properties中匹配的key值,感叹号后就是一个点请求方法,想法十分完美。那么如果没有感叹号就来一个默认的吧,那么什么是默认的呢就是请求页面就是我们直接要跳到的页面方法来一个默认的execute。Handler其实是一个已经实例化的对象,我们前面提到过得,就是把action.properties里面的资源文件全都以key-value(利用反射编程实例化的对象)的方式存起来了,如果为空便是没有取到,那样我们就需要为了不让页面发生异常给一个默认处理model然后调到另一个View层。

时间: 2024-07-31 14:20:22

基于servlet,jsp,来进行MVC思想的剖析 第一部分的相关文章

基于Servlet+JSP+JavaBean开发模式的用户登录注册

基于Servlet+JSP+JavaBean开发模式的用户登录注册 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式. 这里以一个最常用的用户登录注册程序来讲解Servlet+JSP+JavaBean开发模

javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册

一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式. 这里以一个最常用的用户登录注册程序来讲解Servlet+JSP+JavaBean开发模式,通过这个用户登录注册程序综合案例,把之前的学过的XML.Xpat

javaweb学习总结——基于Servlet+JSP+JavaBean开发模式的用户登录注册

一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式. 这里以一个最常用的用户登录注册程序来讲解Servlet+JSP+JavaBean开发模式,通过这个用户登录注册程序综合案例,把之前的学过的XML.Xpat

对基于Servlet+JSP+JavaBean开发模式的用户登录注册的升级

还记得我前面所写的博文基于Servlet+JSP+JavaBean开发模式的用户登录注册吗?我们以前是创建代表数据库的xml文件来保存用户信息的,现在我们已经学习了数据库相关的知识,所以应把xml换成数据库,升级成数据库应用. 我们在把以前的工程复制并拷贝时,假设以前的工程名是day09_user,现复制一份并拷贝,重新修改工程名为day14_user,此刻将其直接部署在tomcat服务器上,那么day14_user这个JavaWeb应用映射的虚拟目录仍然是"/day09_user",

深入分析JavaWeb Item19 -- 基于Servlet+JSP+JavaBean开发模式的用户登录注册

一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式. 这里以一个最常用的用户登录注册程序来讲解Servlet+JSP+JavaBean开发模式,通过这个用户登录注册程序综合案例,把之前的学过的XML.Xpat

JavaWeb学习总结(基于Servlet+JSP+JavaBean开发模式的用户登录注册)

一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式. 这里以一个最常用的用户登录注册程序来讲解Servlet+JSP+JavaBean开发模式,通过这个用户登录注册程序综合案例,把之前的学过的XML.Xpat

基于Servlet+jsp的web计算器

基于Servlet+jsp的web计算器 这次老大为了让我们自己复习web中页面的跳转给不值得任务 天下代码一大抄,关键看你怎么抄 首先我想到的计算算法不是什么堆栈,是简单的(其实很复杂,但是我就只需要知道有这个东西,东西别人做好了...传说中的CV大法好?Emmm,当你知道有这么个算法但是不会自己写可是自己会用的时候,也就相当于...自己会了.....) 废话不多说一下是收集的正则工具类,支持括号运算 package pers.cal.util; import java.util.regex.

JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)

一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式. 这里以一个最常用的用户登录注册程序来讲解Servlet+JSP+JavaBean开发模式,通过这个用户登录注册程序综合案例,把之前的学过的XML.Xpat

java毕设---基于servlet+jsp+mysql的航空订票系统

联系qq:2835777178   有兴趣者可以联系我,也可先查看项目运行视频再决定 项目部分功能截图 一.系统主界面 二.注册页面 三.制定航班 四.用户密码修改 五.用户登录后的主界面 六.会员登录 七.管理员主界面 八.管理员登录 九.个人信息管理 十.订票信息 十一.查看航班 十二.航班安排