- MVC框架总体概述:
M(model)指模型端,也就是DAO类和数据库:DAO类中写了三个表不同种类的“增删改查”的方法,并且与数据库和控制端servlet直接相连;V(view)是指视图端,视图端直接与客户端相连。视图端有两种,一种为HTML,主要是用于为用户提供请求输入,另一种是JSP,这种是动态的HTML,主要是用于根据客户的请求将从数据库返回的信息实现可视化;C(control)指控制端,即servlet,这也是MVC框架的核心技术,总体上即能接受来自用户的请求,又能根据用户的请求通过调用DAO类的方法从数据库获得需要的信息返回JSP,可以说是连接M与V之间的桥梁,至关重要。 - MVC框架之M
M主要包括DAO类和数据库,但还有DTO传输类,这个地方主要针对数据库设计提出长远的要求,数据库设计不好,或者考虑不全面,直接影响到后期功能的实现多少以及难易程度等:比如说与自增有关的功能,后期有些功能在现实中仅需要名字就可以查了,而我们的表中将学号和姓名共同设置成主键,允许了同名不同学号,这就为违背了现实中需要实现的功能的要求,因此在后期,通过利用学号结合DTO类返回了一个封装了唯一学号的所有实体信息的DTO类供servlet对需要的信息进行提取处理;DAO类里面中写了三个表不同种类的“增删改查”的方法,通过封装了JDBC操作的工具类实现与数据库的连接。 - MVC框架之V
对于V,主要讲JSP,以前学的HTML页面是静态的,是死的,一次编写不会在改变,除非重写,而JSP不同,JSP因servlet而活,如果说JSP和HTML躯体,servlet就是灵魂,有了灵魂的躯体才是活的了,这就是为什么说JSP是活的HTML,同时也表明了JSP也能实现HTML的功能。JSP的“活”主要是因为它能根据servlet的变化而变化,那么它们是通过什么实现的呢?毋庸置疑,java代码,的确,JSP能够嵌入java片段,还能够与html标签混用。如果说java代码是JSP页面和servlet交互的接口或者说是通道,那么这还仅仅是个通道,数据呢,数据怎么交流,servlet从数据库得到的数据怎么反馈到JSP页面,JSP页面又是怎样提取出数据呢,这就涉及到下面的servlet和session技术了。 - MVC框架之C
作为MVC框架的核心,C位出道,自然充当着关键的作用。先说明一下,整个系统的流程大致为HTML/JSP->servlet->HTML/JSP。C中主要实现三个步骤(夸张点,全国通用):一、获得请求中的参数,二、根据参数去从数据库中获得值然后封装到session(处理),三、响应到对应页面,主要是重定向。对于箭头前的HTML/JSP,大多是JSP,用户提出需求,然后servlet通过获得从请求中传过来的参数,结合DTO(有时才要)调用DAO中相应的方法,从数据库中得到需要的数据封装到session响应到对应页面,那么上一段中JSP页面与数据库数据交互的问题就解决了,请看下段。 - Session技术
如果说C是连接M与V之间的物理链路,那么Session就是它们之间的数据链路,物理链路通了数据链路不一定通,但数据链路通了物理链路一定通。物理链路只是为数据的传输提供渠道而已。Session的建立一般是在控制端,也就是servlet,它将得到的数据封装到Session中,重要的,核心的,敲重点,封装信息到Session是为这个Session设一个键值对,键就是key,值就是我们要传输的信息,同时key是唯一标识Session的,JSP页面和servlet均可以通过唯一的key得到对应的数据信息,还有Session一旦建立,便贯穿全系统。这也就解决了JSP页面通过唯一的key值从对应的Session获得数据信息的问题。
















