-
JSP
什么是Jsp:JSP (Java Server Page)是 Sun Microsystems 公司的一种规范,它将 Java 与 HTML 相结合。 JSP本质是就是Servlet; JSP 是使用Java 开发基于 Web 的应用程序不可或缺的组成部分。
为什么要用jsp:Servlet的应用适合服务器端的请求处理和编程。但是如果用Servlet处理大量的HTML文本,那么将是一件及其繁琐的事情。这种事情更适合机器去做,否则就是浪费程序员的体力。所以Servlet更适合处理后端的事务。 jsp是在html嵌入java代码片段的程序,jsp支持可视化编辑工具编辑(如:Dreamweaver等);因此前端的效果用JSP来实现非常直观方便;
为了处理control和显示view分离
-
JSP执行过程
1.客户端发起一个JSP请求
2.WEB容器会检查容器中是否有该JSP所对应的JAVA文件
a)如果存在,则直接执行JSP所对应的Class
b)如果不存在,则新建一个JSP所对应的Class
或者可以这样说:
用图表示:
-
JSP九大内置对象
request--封装请求相关的,是HttpServletRequest接口的简单使用
response--封装响应相关数据,HttpServletResponse的简单使用。
pageContext--相当于当前页面的容器,可以访问当前页面的所有对象。
Object findAttribute(String name); //先查找page作用域如没找到,再查找request作用域中,如还没找到再查找 session 作用域,如还没有最后查找application作用域,如还没找到返回null;在查找过程中如果找到则直接返回不再查找。
session--跟踪浏览器一次会话,HttpSession的简单使用
application--ServletContext
config--ServletConfig
out--通过print方法往页面输出信息
page--Object类型对象,所有使用很少
Exception--需要isErrorPage="true"
-
四大作用域
pageContext--当前页面,只能在当前页面有效
request--当前请求,只能在本次请求有效
session--一次会话(从浏览器开启到关闭),打开这个网页直到这个网页结束
application--一个应用(从服务开启到关闭),服务启动就一直在
-
JSP注释
<!-- 浏览器注释 (HTML注释)--> 客户端显示的注释 (可在其中包括动态内容)
<%-- 测试程序员专用注释--%> 程序员专用注释(只能通过查看原始 JSP 文件查看; JSP容器忽略此注释的主体) //JSP编译器会忽略
<% //单行注释%> //查看.java文件可以看到
<%/** 多行注释*/ %>
-
JSP指令元素-page
import 引用java类包
errorPage 指定该页面出现异常时调用的页面
isErrorPage 该页是否是错误页,则可以使用exception
contentType 定义JSP字符编码和页面MIME contentType=“text/html; charset=gb2312”
info 页面信息
language 定义使用的脚本语言,目前只能是java
pageEncoding 定义JSP字符编码
-
JSP指令元素-include
相当于在此页面导入其他页面元素
<%@include file="Include01.jsp" %> 此为静态包含 --编译时包含进主组件
<jsp:include page="Include01.jsp"></jsp:include>此为动态包含 --在请求运行时包含进主组件
静态包含编译之后是一个.class和一个.java,但是动态包含是多个.class和多个.java,耦合性更低
-
JSP中代码段
<% %> - -底层会将代码写到Service方法中
<%! %> - -输出到Service外,类中(定义全局变量或者方法)
-
Jsp动作元素
动作元素与指令元素不同,动作元素是在客户端请求时动态执行的,每次有客户端请求时可能都会被执行一次,而指令元素是在编译时被编译执行,它只会被编译一次。
<jsp:forward page="testZS.jsp"></jsp:forward>:跳转到指定资源
<jsp:param value="123456" name="pass"/>--传递参数
jsp:useBean ---如果对象不存在,则创建(无参构造)
jsp:setProperty--设置值(setXXX方法)
jsp:getProperty--获取值(getXXX方法)