JSP和MVC开发模式

492 阅读2分钟

一. JSP

1. 指令

  1. 作用:配置JSP页面或导入资源文件
  2. 格式<%@ 指令名称 属性名1=属性值1 属性名2=属性值2 %>
  3. 指令名称的分类
    1. page:配置JSP页面
      • 属性名的分类
        1. contentType:功能等同于response.setContentType()
          • 设置响应体的mime类型以及字符集,例如text/html;utf-8
          • 设置当前JSP页面的编码(只对高级的IDE有效,如IDEA;对低级工具无效,如记事本,此时需要通过pageEncoding属性设置当前JSP页面的编码)
        2. import:导包
        3. errorPage:设置当前页面发生异常后,跳转到的错误页面
        4. isErrorPage:表示当前页面是否为错误页面
          • true:是,可以使用内置对象Exception
          • false:否,不可以使用内置对象Exception
    2. include:可以将其他页面包含到当前页面内
      • 例如:<%@ include file="index.jsp" %>
    3. taglib:导入标签库
      • 例如:<%@ taglib prefix="c" uri="http://java.sun.com/jsp/japl/core" %>
        • 其中 prefic:自定义的前缀

2. 注释

  1. HTML注释
    1. <!-- -->:只能注释HTML代码片段
  2. JSP注释(推荐使用)
    1. <%-- --%>:所有都可以注释

3. 内置对象

  1. 概念:在JSP页面中,不需要创建,可以直接使用的对象
对象名所属类作用
pageContextPageContext在当前页面共享attribute,还可以其方法获取其他8个内置对象
sessionHttpSession共享一次会话的attribute
applicationServletContext所有用户共享attribute
requestHttpServletRequest共享一次请求转发的attribute
responseHttpServletResponse作为响应对象
pageObject表示对当前对象的引用,相当于this
outJspWriter作为输出对象,输出内容到页面上
configServletConfig作为Servlet的配置对象
exceptionThrowable异常对象

二:MVC开发模式

1. JSP演变历史

  1. 因为最初只有Servlet,所以想要将用户所需要的数据输出到页面上很麻烦
  2. 后来有了JSP,简化了Servlet的开发,但是如果在JSP中过多地书写Java代码,使其与HTML混合在一起,造成代码混乱,难以维护
  3. 之后Java的Web开发借鉴了MVC开发模式,分工明确,使程序的设计更加合理,便于维护

2. MVC

  1. MModal(模型),用JavaBean实现
    1. 完成具体的业务操作,例如:查询数据库,封装对象等
  2. VView(视图),用JSP实现
    1. 给用户展示的页面
  3. CController(控制器),用Servlet实现
    1. 获取用户的请求
    2. 调用模型
    3. 将数据交给视图进行展示
  4. 优缺点
    • 优点
      1. 耦合性低,便于维护
      2. 重用性高(Controller和模型可以复用)
    • 缺点
      1. 使项目结构变得复杂,提高了对开发人员的要求