JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。
JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分。网页开发者们通过结合HTML代码、XHTML代码、XML元素以及嵌入JSP操作和命令来编写JSP。
JSP通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。
JSP 语法
中文编码问题
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
JSP声明的语法格式:<%!语法格式 %>
脚本程序的语法格式:<% 代码片段 %>
JSP表达式的语法格式:<%= 表达式 %>
SP注释的语法格式:<%-- 该部分注释在网页中不会被显示--%>
JSP指令
JSP指令语法格式:
指令 |
描述 |
<%@ page ... %> |
定义页面的依赖属性,比如脚本语言、error页面、缓存需求等等 |
<%@ include ... %> |
包含其他文件 |
<%@ taglib ... %> |
引入标签库的定义,可以是自定义标签 |
JSP行为
语法 |
描述 |
|
jsp:include |
用于在当前页面中包含静态或动态资源 |
|
jsp:useBean |
寻找和初始化一个JavaBean组件 |
|
jsp:setProperty |
设置 JavaBean组件的值 |
|
jsp:forward |
从一个JSP文件向另一个文件传递一个包含用户请求的request对象 |
JSP所支持的九大隐式对象:
对象 |
描述 |
request |
HttpServletRequest类的实例 |
response |
HttpServletResponse类的实例 |
out |
JspWriter类的实例,用于把结果输出至网页上 |
session |
HttpSession类的实例 |
application |
ServletContext类的实例,与应用上下文有关 |
config |
ServletConfig类的实例 |
pageContext |
PageContext类的实例,提供对JSP页面所有对象以及命名空间的访问 |
page |
类似于Java类中的this关键字 |
Exception |
Exception类的对象,代表发生错误的JSP页面中对应的异常对象 |
HttpServletRequest类
request对象是javax.servlet.http.HttpServletRequest类的实例。
序号 |
方法& 描述 |
1 |
Cookie[] getCookies() 返回客户端所有的Cookie的数组 |
2 |
Enumeration getAttributeNames() 返回request对象的所有属性名称的集合 |
3 |
Enumeration getHeaderNames() 返回所有HTTP头的名称集合 |
4 |
Enumeration getParameterNames() 返回请求中所有参数的集合 |
5 |
HttpSession getSession() 返回request对应的session对象,如果没有,则创建一个 |
6 |
Locale getLocale() 返回当前页的Locale对象,可以在response中设置 |
7 |
Object getAttribute(String name) 返回名称为name的属性值,如果不存在则返回null。 |
8 |
String getCharacterEncoding() 返回request的字符编码集名称 |
9 |
String getContextPath() 返回request URI中指明的上下文路径 |
10 |
String getMethod() 返回此request中的HTTP方法,比如 GET,,POST,或PUT |
11 |
String getParameter(String name) 返回此request中name指定的参数,若不存在则返回null |
12 |
String getQueryString() 返回此 request URL包含的查询字符串 |
13 |
String getRemoteUser() 返回客户端通过登录认证的用户,若用户未认证则返回null |
23 |
String getRequestURI() 返回request的URI |
14 |
String getRequestedSessionId() 返回request指定的session ID |
15 |
String getServletPath() 返回所请求的servlet路径 |
16 |
String[] getParameterValues(String name) 返回指定名称的参数的所有值,若不存在则返回null |
HttpServletResponse类
response 对象是 javax.servlet.http.HttpServletResponse 类的一个实例。
S.N. |
方法 & 描述 |
1 |
String encodeRedirectURL(String url) 对sendRedirect()方法使用的URL进行编码 |
2 |
String encodeURL(String url) 将URL编码,回传包含Session ID的URL |
3 |
boolean containsHeader(String name) 返回指定的响应头是否存在 |
4 |
boolean isCommitted() 返回响应是否已经提交到客户端 |
5 |
void addCookie(Cookie cookie) 添加指定的cookie至响应中 |
6 |
void flushBuffer() 将任何缓存中的内容写入客户端 |
7 |
void reset() 清除任何缓存中的任何数据,包括状态码和各种响应头 |
8 |
void sendRedirect(String location) 使用指定的URL向客户端发送一个临时的间接响应 |
9 |
void setCharacterEncoding(String charset) 指定响应的编码集(MIME字符集),例如UTF-8 |
10 |
void setStatus(int sc) 设置响应的状态码 |
// 解决中文乱码的问题String name= new String((request.getParameter("name")).getBytes("ISO-8859-1"),"UTF-8");