jsp复习1
1.jsp基础
指令
作用:用于配置jsp页面,导入资源文件
格式: <% 指令名称 属性名1=属性值1 属性名2=属性值2 …… %>
分类:
1.page:顾名思义,配置jsp页面的
contentType:等同于response.setContentType()
有两种含义
是设置响应体的mime类型及其字符集
设置当前jsp使用的编码 如utf-8 Unicode等(只能是高级的开发工具才能生效,如果使用低级工具,则需要设置pageEncoding进行编码设置)
language
jsp刚发布的时候 有一个野心 希望所有语言都可以用于jsp开发
但是这么多年过去了 还是只能支持java
buffer
控制字符缓冲区的大小 默认是8kb的样子
页面实现的时候都是用out将字符输出
import
导包不必多说了
errorPage
错误页面
当前页面发生异常后会自动跳转到 指定的错误页面
isErrorPage
用于标示当前页面是否是错误页面
它的值true 表示是 可以使用的内置对象exception
false 表是不是 就用不了
ps:如果使用true之后进入了HTTP 500
建议进入ie中进入 设置->高级 然后取消勾选”显示友好的HTTP错误信息”
2.include:页面包含的,导入资源文件
可以单独设一个界面放入导入的文件top.jsp
之后就可以在需要的页面上
使用<%@ include file=“top.jsp” %>
3.taglib:用于导入资源 和之后的JSTL标签的导入有关系
先导入相应的jar包
比如<%@taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>
就可以使用c标签了
2.注释
HTML注释
这个注释方式只能注释HTML
通过F12 看源码 会发现注释还是存在 只是不会显示
JSP注释
<%–Fubuki↓,Fubuki↑ Fubuki↑ FUBUKI!!!(夏哥还在呼吸呢)–%>
这个就可以注释所有了
用F12看源码 会发现用这个注释的部分 连发送都不会发送到浏览器
3.内置对象
在jsp页面中可以直接使用的对象
有九个
pageContext
request
session
application
response
page
out
config
exception //这个只有在page中声明isErrorPage="true"的时候用才不会报错
这几个类可以通过访问work来找到 内置的函数
比如这个是在以此tomcat servlet运行的时候显示出来的 C:\Users\dell\eclipse-workspace.metadata.plugins\org.eclipse.wst.server.core\tmp2
顺着地址找 就能找到这个项目运行时真正 在哪里
C:\Users\dell\eclipse-workspace.metadata.plugins\org.eclipse.wst.server.core\tmp2\work\Catalina\localhost
这时候看到当前eclipse中所有运行过的项目名
进入相应的项目名中
如 进入\relearn1\org\apache\jsp 打开_500_jsp.java就可以在里面看到这九个声明的内置对象的真实的类型了
变量名 真实类型 作用
pageContext PageContext 当前页面共享数据,还可以获取其他八个内置对象
request HttpServletRequest 一次请求访问的多个数据(转发)
session HttpSession 一次会话的多个请求间
application ServletContext 所有用户间共享数据
response HttpServletResponse 响应对象
page Object 当前页面(servlet)的对象 this
out JspWeiter 输出对象,数据输出到页面上
config ServletConfig 不必多说 servlet的配置对象
exception Throwable 异常对象
pageContext
pageContext.setAttribute(String, Object);
String 后面加名词 Object 后面加想要传的值
如
<% pageContext.setAttribute("message", "hello"); %>
<%=pageContext.getAttribute("message") %>
最后显示出来的就是hello
4.重谈MVC
昨天隔壁宿舍的一个大神,就把关与数据库的增删改查写进一个servlet中了
这个servlet即负责查找从数据库的某个表中找到的数据
又负责按一定条件查找 数据库某个表中的有关数据
也负责删除和插入
下午跑个步,运动一下,回到宿舍精神恍惚的写着代码,马上就会给自己带来一堆错误,怎么死的都不知道
当然了 这样写很爽就是了 但也就只有这个优点了
转天就看不懂自己写的代码了
老老实实mvc,快乐你我他
JSP中mvc的流程
在Browser(浏览器)/Server(服务器)架构中
第一步 浏览器首先向服务器请求资源,会经过C(控制器)
第二步 控制器调用模型 模型进行业务操作 处理后的数据交给控制器
第三步 控制器将数据交给试图 视图进行展示 为浏览器进行对应的响应
M:Model,模型
1.完成具体的业务操作
如 从数据库中查询数据
这里会用到javaBean
V:View,视图
1.展示数据
这里会用到JSP
C:Controller,控制器
1.获取客户端的输入
2.调用模型
3.将数据交给视图展示
这里会用到Servlet