jsp与MVC开发模式

jsp演变历史:
早期只有servlet,只能使用response输出标签数据,非常麻烦。后来又jsp,简化了Servlet的开发,如果过度使用jsp,在jsp中即写大量的java代码,有写html表,造成难于维护,难于分工协作。再后来,java的web开发,借鉴mvc开发模式,使得程序的设计更加合理性。

JSP

Java Server Pages: java服务器端页面
可以理解为:一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码
用于简化书写!!!
JSP本质上就是一个Servlet

JSP的脚本:JSP定义Java代码的方式
  1. <% 代码 %>:定义的java代码,在service方法中。service方法中可以定义什么,该脚本中就可以定义什么。
  2. <%! 代码 %>:定义的java代码,在jsp转换后的java类的成员位置。
  3. <%= 代码 %>:定义的java代码,会输出到页面上。输出语句中可以定义什么,该脚本中就可以定义什么。
JSP的内置对象:

在jsp页面中不需要获取和创建,可以直接使用的对象
jsp一共有9个内置对象。
request

response

out:字符输出流对象。可以将数据输出到页面上。和response.getWriter()类似。

response.getWriter()和out.write()的区别:

在tomcat服务器真正给客户端做出响应之前,会先找response缓冲区数据,再找out缓冲区数据。response.getWriter()数据输出永远在out.write()之前

指令

作用:用于配置JSP页面,导入资源文件。

格式:<%@ 指令名称 属性名1=属性值1 属性名2=属性值2 … %>

分类

  1. page: 配置JSP页面的
    contentType:等同于response.setContentType():

    1. 设置响应体的mime类型以及字符集
    2. 设置当前jsp页面的编码(只能是高级的IDE才能生效,如果使用低级工具,则需要设置pageEncoding属性设置当前页面的字符集)

    import:导包
    errorPage:当前页面发生异常后,会自动跳转到指定的错误页面
    isErrorPage:标识当前也是是否是错误页面。
    true:是,可以使用内置对象exception
    false:否。默认值。不可以使用内置对象exception

  2. include
    页面包含的。导入页面的资源文件:
    <%@include file=“top.jsp”%>

  3. taglib
    导入资源:
    <%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>
    prefix:前缀,自定义的

注释:
  1. html注释:
    < !-- – >:只能注释html代码片段,在服务器发送响应信息时会将< !-- – >注释的信息一同发送至客户端
  2. jsp注释:推荐使用
    <%-- --%>:可以注释所有
内置对象

在jsp页面中不需要创建,直接使用的对象
一共有9个

变量名真实类型作用
pageContextPageContext当前页面共享数据,还可以获取其他八个内置对象
requestHttpServletRequest一次请求访问的多个资源(转发)
sessionHttpSession一次会话的多个请求间
applicationServletContext所有用户间共享数据
responseHttpServletResponse响应对象
pageObject当前页面(Servlet)的对象 this
outJspWriter输出对象,数据输出到页面上
configServletConfigServlet的配置对象
exceptionThrowable异常对象

MVC开发模式

MVC:

  1. M:Model,模型。JavaBean
    完成具体的业务操作,如:查询数据库,封装对象
  2. V:View,视图。JSP
    展示数据
  3. C:Controller,控制器。Servlet
    获取用户的输入
    调用模型
    将数据交给视图进行展示
    优缺点:
    1. 优点:
      1. 耦合性低,方便维护,可以利于分工协作
      2. 重用性高
    2. 缺点:使得项目架构变得复杂,对开发人员要求高
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值