MVC与三层架构
MVC设计模式
MVC中的每个字母分别代表着M(Model 模型),V(View 视图),C(Controller 控制器)
Model 模型
一般就是业务逻辑,增删改查之类的,负责数据的部分。
View 视图
一般系统指面向用户可以进行交互的前端界面部分。
Controller 控制器
一般指在用户进行前端操作后,对用户的操作做出反应,连接模型和视图,可以将模型返回的数据返回给视图展示。
三层架构
三层架构通常意义上来说是将整个业务划分为表现层(UI),业务逻辑层(BLL),数据访问层(DAL),区分目的是为了高内聚,低耦合的思想。
表现层(UI)
一般是指利用html或是JSP制作,用来展示给用户的操作界面。
业务逻辑层(BLL)
对数据层进行操作,对数据进行业务逻辑处理
数据访问层(DAL)
直接操作数据库,对数据增删改查。
关系
MVC主要作用于三层中的表现层,相当于将表现层细分为模型、视图、控制器,且表现为互相协作的关系,MVC执行到C时会连接到BLL层,进行对话再由BLL完成相应逻辑。
AJAX技术与原理
AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)
其并不是新的编程语言,而是用使用现有标准的新方法,这种技术是原有几个技术的结合体
Ajax的⼯作原理相当于在⽤户和服务器之间加了—个中间层(AJAX引擎),使⽤户操作与服务器响应异步化。并不是所有的⽤户请求都提交给服务器。像—些数据验证和数据处理等都交给Ajax引擎⾃⼰来做,,只有确定需要从服务器读取新数据时再由Ajax引擎代为向服务器提交请求。
状态码说明:
1:请求收到,继续处理
2:操作成功收到,分析、接受
3:完成此请求必须进⼀步处理
4:请求包含⼀个错误语法或不能完成
5:服务器执⾏⼀个完全有效请求失败
再具体就如下:
100——客户必须继续发出请求
101——客户要求服务器根据请求转换HTTP协议版本
200——交易成功
201——提示知道新⽂件的URL
202——接受和处理、但处理未完成
203——返回信息不确定或不完整
204——请求收到,但返回信息为空
205——服务器完成了请求,⽤户代理必须复位当前已经浏览过的⽂件
206——服务器已经完成了部分⽤户的GET请求
300——请求的资源可在多处得到
301——删除请求数据
302——在其他地址发现了请求数据
303——建议客户访问其他URL或访问⽅式
304——客户端已经执⾏了GET,但⽂件未变化
305——请求的资源必须从服务器指定的地址得到
306——前⼀版本HTTP中使⽤的代码,现⾏版本中不再使⽤
307——申明请求的资源临时性删除
400——错误请求,如语法错误
401——请求授权失败
402——保留有效ChargeTo头响应
403——请求不允许
404——没有发现⽂件、查询或URl
405——⽤户在Request-Line字段定义的⽅法不允许
406——根据⽤户发送的Accept拖,请求资源不可访问
407——类似401,⽤户必须⾸先在代理服务器上得到授权
408——客户端没有在⽤户指定的饿时间内完成请求
409——对当前资源状态,请求不能完成
410——服务器上不再有此资源且⽆进⼀步的参考地址
411——服务器拒绝⽤户定义的Content-Length属性请求
412——⼀个或多个请求头字段在当前请求中错误
413——请求的资源⼤于服务器允许的⼤⼩
414——请求的资源URL⻓于服务器允许的⻓度
415——请求资源不⽀持请求项⽬格式
416——请求中包含Range请求头字段,在当前请求资源范围内没有range指示值,请求也不包含IfRange请求头字段
417——服务器不满⾜请求Expect头字段指定的期望值,如果是代理服务器,可能是下⼀级服务器不能
满⾜请求
500——服务器产⽣内部错误
501——服务器不⽀持请求的函数
502——服务器暂时不可⽤,有时是为了防⽌发⽣系统过载
503——服务器过载或暂停维修
504——关⼝过载,服务器使⽤另⼀个关⼝或服务来响应⽤户,等待时间设定值较⻓
505——服务器不⽀持或拒绝⽀请求头中指定的HTTP版本
文件上传
使用smartupload.jar实现文件上传,利用form和input以post方式进行文件提交,controller部分通过smartupload所实现的方法进行接收
注:
(1)此时如果表单中有其他数据时,不能通过request直接获取,需要通过SmartUpload对象获取
(2)解决乱码:
new String(name.getBytes(“GBK”),“utf-8”)