一. JSP
1. 指令
- 作用:配置JSP页面或导入资源文件
- 格式:
<%@ 指令名称 属性名1=属性值1 属性名2=属性值2 %> - 指令名称的分类
page:配置JSP页面- 属性名的分类
contentType:功能等同于response.setContentType()- 设置响应体的mime类型以及字符集,例如
text/html;utf-8 - 设置当前JSP页面的编码(只对高级的IDE有效,如IDEA;对低级工具无效,如记事本,此时需要通过
pageEncoding属性设置当前JSP页面的编码)
- 设置响应体的mime类型以及字符集,例如
import:导包errorPage:设置当前页面发生异常后,跳转到的错误页面isErrorPage:表示当前页面是否为错误页面true:是,可以使用内置对象Exceptionfalse:否,不可以使用内置对象Exception
- 属性名的分类
include:可以将其他页面包含到当前页面内- 例如:
<%@ include file="index.jsp" %>
- 例如:
taglib:导入标签库- 例如:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/japl/core" %>- 其中
prefic:自定义的前缀
- 其中
- 例如:
2. 注释
- HTML注释
- <!-- -->:只能注释HTML代码片段
- JSP注释(推荐使用)
- <%-- --%>:所有都可以注释
3. 内置对象
- 概念:在JSP页面中,不需要创建,可以直接使用的对象
| 对象名 | 所属类 | 作用 |
|---|---|---|
| pageContext | PageContext | 在当前页面共享attribute,还可以其方法获取其他8个内置对象 |
| session | HttpSession | 共享一次会话的attribute |
| application | ServletContext | 所有用户共享attribute |
| request | HttpServletRequest | 共享一次请求转发的attribute |
| response | HttpServletResponse | 作为响应对象 |
| page | Object | 表示对当前对象的引用,相当于this |
| out | JspWriter | 作为输出对象,输出内容到页面上 |
| config | ServletConfig | 作为Servlet的配置对象 |
| exception | Throwable | 异常对象 |
二:MVC开发模式
1. JSP演变历史
- 因为最初只有Servlet,所以想要将用户所需要的数据输出到页面上很麻烦
- 后来有了JSP,简化了Servlet的开发,但是如果在JSP中过多地书写Java代码,使其与HTML混合在一起,造成代码混乱,难以维护
- 之后Java的Web开发借鉴了MVC开发模式,分工明确,使程序的设计更加合理,便于维护
2. MVC
- M:Modal(模型),用JavaBean实现
- 完成具体的业务操作,例如:查询数据库,封装对象等
- V:View(视图),用JSP实现
- 给用户展示的页面
- C:Controller(控制器),用Servlet实现
- 获取用户的请求
- 调用模型
- 将数据交给视图进行展示
- 优缺点
- 优点
- 耦合性低,便于维护
- 重用性高(Controller和模型可以复用)
- 缺点
- 使项目结构变得复杂,提高了对开发人员的要求
- 优点