jsp页面元素
1.脚本
<% %> 定义局部变量,java语句
<%! %> 定义全局变量,方法
<%= %> 输出表达式 等价于 out.print("hello word");
2.page指令 <%@ page ... %>
page指令的属性
language: jsp脚本使用的语言
import :导入类
pageEncoding: jsp文件自身编码 jsp->java是的编码
contentType:浏览器解析jsp文件的编码
3.注释
html注释 <!-- --> 可以在浏览器中看见
java注释 // /* */
jsp注释 <%-- --%>
4.jsp内置对象(9个)
out :向客户端输出内容
pageContext
request:请求对象,存储了客户端向服务端请求所带的一些信息
常见方法:String getParameter(String name) 根据请求的字段名返回字段值(input标签name属性)
String[] getParameterValue(String name) 返回一个字符产数组 例如多选按钮
void setCharacterEncoding("utf-8") 设置post请求的编码 没有就默认tomcat8及以后的为utf-8 get需要在tomcat配置文件中修改
getRequestDispatcher("a.jsp").forward(request,response) 请求转发 跳转页面的方式A--->B 第一次情求有数据但是地址栏没变 地址栏地址不会变 1次请求
ServletContext getServerContext() 获取项目的ServletContext 对象
response:响应对象
常见方法:void addCookie(Cookie cookie) 服务端向客户端增加cookie
void sendRedirect(String location) throws IOException:页面跳转的一种方式 导致第一次请求数据丢失 地址会改变 2次请求
void setContentType() 设置服务端响应编码
session:服务端客户端第一次请求时会产生一个session,每个session对象都有一个sessionId(用于区分其他的session)和cookie的JSESSION对应
同一个用户请求时共享
常用方法 String getId() 得到sessionId
boolean isNew() 判断是否时第一次访问
void invalidate() 使session失效 退出登入
setAttribute() 设置值
getAttribute() 获取值
void setMaxInactiveInterval(秒) 设置最大有效非活动时间
void removeAttribute("name") 删除session部分属性
cookie:客户端 服务端产生让客户端保存 key=value
javax.servlet.http.Cookie
public Cookie(String name,String value) new出来一个cookie
String getName()
String getValue()
void setMaxAge(int expiry) 设置最大有效期 秒
服务端准备Cookie response.addCookie(Cookie cookie)
客户端得到Cookie[] request.getCookies()
application 全局对象
常用方法 String getContextPath() 获取项目虚拟目录
String getRealPath("/aa") 获取项目虚拟路径对应的绝对路径
config
page
exception