概述
jsp知识点剖析
javaWEB
一 JSP
JavaScript代码注释
隐式注释// 单行注释
/* */ 多行注释
<%-- 注释 --%>
显示注释
<!-- 注释 -->
java代码
<% %> 局部变量、编写语句 等价于<jsp:script></jsp:script>
<%! %> 全局变量,方法,类
<%= %> 输出一个变量或一个具体的常量
page指令
生成session <%@ page session="true|false"%>
声明属性 <%@page 属性="内容"%>
页面编码
<%page language="java" contentType="text/html;charset=utf-8"%>
<%@page contentType="text/html" pageEncoding="utf-8"%>
错误页
跳转错误页:<%@page erroePage="erro.jsp"%>
错误页认证: <%page isErrorPage="true" %>
包含
静态包含 (先包含后处理): <%@include file="要包含的文件路径"%>
动态包含(先处理后包含) <jsp:include>
跳转指令
客户端跳转
a链接 <a href="#" />
重定向
rsponse.setStatus(302); rsponse.setHeader("Location","hello.jsp");
response.setHeader("refresh","2;URL=hello.jsp");
response.sendRedirect("hello.jsp");
服务端跳转
请求转发 RequestDispatcher rd=request.getRequestDispatcher("/IServlet").forward(request,response);
请求包含 request.getRequestDispatcher("/IServlet").include(request,response);
跳转指令<jsp:forward>
JSP九大内置对象
对象
pageContext
request
response
session
application
config
out
page
exception
常用法法
public void setAttribute(String name,Object)
public void getAttribute(String name)
public void removeAttribute(String name)
常用对象及其方法
request
public String getParameter(String name)
public String[] getParameterValues(String name)
public Enumeration getParameterNames()
public String getServletPath()
public getContextPath()
public Httpsession getSession()
public Cookie[] getCookies()
public String getRemoteAddr()
void setCharacterEncoding(String env) throws UnsupportedEncodingException
public boolean isUserInRole(String role)
public StringBuffer getRequestURL()
public Enumeration getHeaderNames()
public String getMethod()
response
public void addCookie(Cookie cookie)
public void setHeader(String name,String value)
public void sendRedirect(String location) throws IOException
Cookie
public Cookie(String name,String value)
public String getNames()
public String getValue()
public void setMaxAge(int expiry)
session
public String getId()
public long getCreationTime()
public long getLastAccessedTime()
public boolean isNew()
public void invalidate()
public Enumeration getAttributeNames()
pageContext
public abstract void forward(String relativeUrlPath) throws ServletException,IOException
public void include(String relativeUrlPath) throws ServletException,IOException
public ServletConfig getServletConfig()
public ServletContext getServletContext()
public ServletRequest getRequest()
ublic ServletResponse getResponse()
public HttpSession getSession()
application
String getRealPath(String path)
public Enumeration getAttributeNames()
public String getContextPath()
config
public String getInitParameter(String name)
public Enumeration getInitParameterNames()
out
public int getBufferSize()
public int getRemaining()
javaBean
作用
称呼(三种)
POJO(Plain ordinary Java Objects):简单的Java对象
VO(Value Object)用于传递值
TO(Transfeers Object)传输对象,远程传输需实现Serializable接口
指令
实例化Bean: <jsp:usebean id="实例化对象名称" scope="保存范围" class="包.类名称" />
JavaBean
包.类
类声明public class
封装属性private
提供setter、getter
至少一个无参构造方法
javaBean范围
page
request
session
application
设置属性
自动匹配 <jsp:setproperty name="实例化对象的名称(id)" property="*" />
指定属性 <jsp:setProperty name="实例化对象的名称(id)" property="属性名称" />
指定参数 <jsp:setProperty name="实例化对象得名称(id)" property="属性名称" param="参数名称" />
指定内容 <jsp:setProperty name="实例化对象的名称(id)" property="属性名称" value="内容">
取得属性
<jsp:getProperty name="实例化对象的名称(id)" property="属性名称" />
javaBean的删除
删除page的JavaBean
pageContext.removeAttribute(JavaBean名称)
删除request的JavaBean
request.removeAttribute(JavaBean名称)
删除session的JavaBean
session.removeAttribute(JavaBean名称)
删除application的JavaBean
application.removeAttribute(JavaBean名称)
表达式语言(Expression Language)
使用 ${属性名称}
内置对象
11个内置对象
pageContext
pageScope
requestScope
sessionScope
applicationScope
param
paramValues
header
headerValues
cookie
initParam
内置对象的操作
参考JSP的内置对象的方法
参考网页:https://blog.csdn.net/hon_3y/article/details/54890071
访问4种属性范围的内容
查找顺序:page->request->session->application
${pageScope.属性}
${requestScope.属性}
${sessionScope.属性}
${applicationScope.属性}
数据操作
接收请求参数
${param.参数名称}
接收一组参数 ${paramValues.参数名称}
集合操作
List和Set操作
Map操作
运算符
算术运算符
+ 如${20+30}
- 如${30-20}
* 如${20*30}
/或div 如 ${30 div 20}
%或mod 如${30 mod 30}
关系运算符
==或eq ${30 eq 20}
!=或ne 如${30 ne 20}
<或lt 如${20 lt 30}
>或gt 如${30 gt 20}
<=或le 如${20 le 30}
>=或ge 如${30 ge 20}
逻辑运算符
&&或and 如${true && true}
||或or 如${true || false}
!或not 如${!true}
其他运算符
empty 如${empty info}
?: 如${10>20?"大于":"小于"}
() 如${10*(20+30)}
JSTL(JSP Standard Tag Library)
准备工作
导入WEBINF/lib
jstl.jar
standard.jar
jsp头部引入JSTL指令
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
JSTL核心库
<c:out>
<c:set>
<c:remove>
<c:catch>
<c:if>
<c:choose>、<c:when>、<c:otherwise>
<c:forEach>
<c:forTokens>
<c:import
<c:url>
<c:redirect>
国际化标签库
国际化标签库
<fmt:setLocale>
<fmt:requestEncoding>
信息显示库
<fmt:bundle>
<fmt:message>
<fmt:setbundle>
数字及日期格式化
<fmt:formartNumber>
<fmt:parseNumber>
<fmt:formartDate>
<fmt:parseDate>
<fmt:setTimeZone>
<fmt:timeZone>
SQL标签库
数据源标签
<sql:setDataSource>
数据库操作标签
<sql:query>
<sql:update>
事务处理标签
<sql:transaction>
上面本来是这几天整理的思维导图,粘贴过来格式全米了,将就着看吧!
值得注意的是jsp实质上是一个servlet,我们在tomcat目录下work目录中可以看到编译后的jsp是一个.class文件,这也说明了
jsp也存在一个对象,那就是this代表的servlet实例对象,通过this我们可以干servlet可以干的事,如获取虚拟路径下的真实路径,可以这样
<%
String path = this.getServletContext.getRealPath("/");
//注意这里的ServletContetx其实就是当前环境,就是web容器,通过web容器我们可以得到真实路径
%>
关于真实路径和虚拟路径,我们可以在tomcat的web.xml文件中看到
<Context path="虚拟路径" docBase="真实路径" />,
虚拟路径就是我们敲在浏览器地址栏上的,而真实路径就是存在我们本地硬盘上的地址.
最后
以上就是冷酷店员为你收集整理的javaweb中jsp知识点剖析jsp知识点剖析的全部内容,希望文章能够帮你解决javaweb中jsp知识点剖析jsp知识点剖析所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复