Jsp
JSP
执行流程:
jsp- java(Servlet文件) -class
第一次访问:服务端将jsp翻译成java,再将Java编译成class文件
第二次: 直接访问访问class文件
如果服务端代码修改,将会在访问时重新翻译、编译。
存放在Tomcat的work/Catalina/localhost/项目名/org/apache/jsp/文件夹下
Jsp和Servlet可以互相转换
因为第一次请求服务端 会有翻译 和编译的过程, 因此比较慢; 后续访问 可以直接访问class,因此速度较快。 但是 如果 服务端修改了代码, 则再次访问的时候会重新翻译、编译。
Eclipse 创建的Web项目:
浏览器可以直接访问WebContent中的文件,但是WEB-INF的文件 无法通过客户端(浏览器 )直接访问,只能通过请求转发来访问
并不是 任何的内部跳转都能访问WEB-INF; 原因是 跳转有2中方式: 请求转发、重定向
配置tomcat运行时环境
jsp<->Servlet
- 将tomcat/lib中的servlet-api.jar加入项目的构建路径
- 右键项目->Build Path -> Add library -> Server Runtime
统一字符集编码
-
编码分类:
-
设置jsp文件的编码:(jsp文件中的pageEncoding属性) jsp->java
-
设置浏览器读取jsp文件的编码(jsp文件中的content属性)
一般将上述设置成 一致的编码, 推荐使用UTF-8
-
文本编码:
- 将整个eclipse中的文件 统一设置
- 设置 某一个项目
- 设置单独文件
-
JSP的页面元素
HTML、java代码(脚本Scriptlet)、指令、注释
-
脚本Scriptlet
-
<%
局部变量、java代码
%>
-
<%!
全局变量、定义方法
%>
-
<%= 输出表达式 =%>
-
-
指令
- page指令: <%@ page ...%>
page指定的属性:
language: jsp页面使用的脚本语言
import:导入的类
pageEncoding:jsp文件自身编码 jsp->java
contentType: 浏览器解析jsp编码
-
注释
- html注释 , 可以被客户通过浏览器查看源码所观察到
- java注释// /* */
- jsp注释 <%-- --%>
JSP九大内置对象
自带的,不需要new,也能使用的对象
-
out : 输出对象, 向客户端输出内容
-
pageContext
-
request: 请求对象; 存储"客户端向服务器端发送的请求信息"
request对象常见的方法:- String getParameter(String name): 根据请求的字段名key, 返回字段值Value
- String[] getParameterValues(String name):根据请求的字段名key, 返回多个字段值Value (checkbox)
- void setCharacterEncoding("编码格式utf-8");设置请求编码
- getRequestDispatcher("b.jsp").forward(request,response); 请求转发 的方式跳转页面 A->B
- ServletContext getServletContext:获取项目的ServletContext对象
-
response
-
session
-
application
-
config
-
page
-
exception

JSP的九大内置对象和执行流程
浙公网安备 33010602011771号