基础语法
-
JSP注释:<%-- 注释的内容 --%>
-
JSP声明:<%! 变量定义/方法定义/类 %> 声明部分将转换成对应Servlet的成员变量和成员方法
-
JSP表达式:<%= 变量或表达式 %>
JSP指令
-
page指令:用来设置JSP页面的属性和功能,常见属性有language、import、pageEncoding
<%@ page contentType="text/html;charset=UTF-8" language="java" import="java.util.*" %>
-
include指令:在JSP页面生成Servlet时引入需要包含的其他静态文件
<%@ include file="文件位置" %>
-
taglib指令:定义一个标签库以及自定义标签的前缀
<%@ taglib prefix="引用标签名" uri="标签库位置" %>
JSP动作
-
<jsp:include>:与include 指令作用类似,有区别,jsp:include效率慢
<jsp:include page="文件位置" flush="true"> flush属性用于指定输出缓存是否转移到被导入文件中
-
<jsp:forward>:转发请求到另外一个页面中,可使用param动作携带参数,目标页面通过request.getParameter方法获得参数
<jsp:forward page="目标页面文件位置">
-
<jsp:param>:用来传递参数信息,常与其他动作结合,位于前两个动作中
<jsp:param name="参数名称" value="参数值"> 传参时所有页面编码格式要统一,否则中文会乱码
JSP脚本
内置对象:可在JSP页面直接使用,不需要声明
共7个:(request、response、session、application、out、page、config)
-
request:用于获取客户端的http请求信息
常见方法: getParameter():获得请求中指定的参数值,返回String类型 getParameterValues():将同名称的参数一次性读入到String类型的数组中 即多选参数 getParameterNames():获取参数名称,返回枚举类型 getMethod():获取客户提交信息的方式,即POST或GET getServletPath():获取JSP页面文件的目录 getHeader():获取HTTP头文件中的指定值,如user-agent、content-type等 getRemoteAddr():获取客户的IP地址 getServerName():获取服务器的名称 getServerPort():获取服务器的端口号 getContextPath():获取项目名称 getHeaders():获取表头信息,返回枚举类型 getCookies():获取Cookie信息
-
response:用于响应非字符请求,字符请求可用out对象响应
常见方法: addHeader(String arg0,String arg1):向页面中添加头和对应的值 addCookie(Cookie arg0):向客户端添加Cookie信息 sendRedirect(String arg0):实现页面重定向 setStatus(int arg0):设定页面的响应状态代码 setContentType(String arg0):设定页面的MIME类型和字符集 setCharacterEncoding(arg0):设定页面响应的编码类型
-
session:代表一次用户会话,用于跟踪用户的会话信息如购物车
常见方法: getAttribute(String attName):返回session范围内attName属性的值 setAttribute(String attName, Object attValue):设置session范围内attName属性的值为attValue
-
out:代表一个页面输出流,可与输出表达式<%=...%>替换
常见方法: out.println(): 输出表达式<%=...%>的本质就是out.write(...)
-
application:代表整个Web应用,放入application的数据可以被应用下其他所有JSP、Servlet访问,用于多个JSP、Servlet共享数据
常见方法: getAttribute(String attName):返回session范围内attName属性的值 setAttribute(String attName, Object attValue):设置session范围内attName属性的值为attValue 理解为一个Map 任何JSP都可以将Object放入application中并指定一个属性名,其他JSP可由属性名得到这个Object
网友评论