Jsp简要
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");