1.简介

JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术。JSP/Servlet规范。JSP实际上就是Servlet。​ JSP这门技术的最大的特点在于,写jsp就像在写html,但它相比html而言,html只能为用户提供静态数据,而Jsp技术允许在页面中嵌套java代码,为用户提供动态数据。


2.九大内置对象

​ JSP引擎在调用JSP对应的_jspServlet时,会传递或创建9个与web开发相关的对象供_jspServlet使用。JSP技术的设计者为便于开发人员在编写JSP页面时获得这些web对象的引用,特意定义了9个相应的变量,开发人员在JSP页面中通过这些变量就可以快速获得这9大对象的引用。

1.request – HttpServletRequest

object getAttribute(String name) 返回指定属性的属性值

Enumeration getAttributeNames() 返回所有可用属性名的枚举

String getCharacterEncoding() 返回字符编码方式

int getContentLength() 返回请求体的长度(以字节数)

String getContentType() 得到请求体的MIME类型

ServletInputStream getInputStream() 得到请求体中一行的二进制流

String getParameter(String name) 返回name指定参数的参数值

Enumeration getParameterNames() 返回可用参数名的枚举

String[] getParameterValues(String name) 返回包含参数name的所有值的数组

String getProtocol() 返回请求用的协议类型及版本号

String getScheme() 返回请求用的计划名,如:http.https及ftp等

String getServerName() 返回接受请求的服务器主机名

int getServerPort() 返回服务器接受此请求所用的端口号

BufferedReader getReader() 返回解码过了的请求体

String getRemoteAddr() 返回发送此请求的客户端IP地址

String getRemoteHost() 返回发送此请求的客户端主机名

void setAttribute(String key,Object obj) 设置属性的属性值

String getRealPath(String path) 返回一虚拟路径的真实路径

2.response – HttpServletResponse

String getCharacterEncoding() 返回响应用的是何种字符编码

ServletOutputStream getOutputStream() 返回响应的一个二进制输出流

PrintWriter getWriter() 返回可以向客户端输出字符的一个对象

void setContentLength(int len) 设置响应头长度

void setContentType(String type) 设置响应的MIME类型

sendRedirect(java.lang.String location) 重新定向客户端的请求

3.config – ServletConfig

ServletContext getServletContext() 返回含有服务器相关信息的ServletContext对象

String getInitParameter(String name) 返回初始化参数的值

Enumeration getInitParameterNames() 返回初始化所需所有参数的枚举

4.application – ServletContext

Object getAttribute(String name) 返回给定名的属性值

Enumeration getAttributeNames() 返回所有可用属性名的枚举

void setAttribute(String name,Object obj) 设定属性的属性值

void removeAttribute(String name) 删除一属性及其属性值

String getServerInfo() 返回JSP(SERVLET)引擎名及版本号

String getRealPath(String path) 返回一虚拟路径的真实路径

ServletContext getContext(String uripath) 返回指定WebApplication的application对象

int getMajorVersion() 返回服务器支持的Servlet API的最大版本号

int getMinorVersion() 返回服务器支持的Servlet API的最大版本号

String getMimeType(String file) 返回指定文件的MIME类型

URL getResource(String path) 返回指定资源(文件及目录)的URL路径

InputStream getResourceAsStream(String path) 返回指定资源的输入流

RequestDispatcher getRequestDispatcher(String uripath) 返回指定资源的RequestDispatcher对象

Servlet getServlet(String name) 返回指定名的Servlet

Enumeration getServlets() 返回所有Servlet的枚举

Enumeration getServletNames() 返回所有Servlet名的枚举

void log(String msg) 把指定消息写入Servlet的日志文件

void log(Exception exception,String msg) 把指定异常的栈轨迹及错误消息写入Servlet的日志文件

void log(String msg,Throwable throwable) 把栈轨迹及给出的异常的说明信息写入的日志文件

5.exception(只有在page指令中具有属性isErrorPage="true"时才有效)-- Exception

String getMessage() 返回描述异常的消息

String toString() 返回关于异常的简短描述消息

void printStackTrace() 显示异常及其栈轨迹

Throwable FillInStackTrace() 重写异常的执行栈轨迹

6.session – HttpSession

long getCreationTime() 返回SESSION创建时间

public String getId() 返回SESSION创建时JSP引擎为它设的惟一ID号

long getLastAccessedTime() 返回此SESSION里客户端最近一次请求时间

int getMaxInactiveInterval() 返回两次请求间隔多长时间此SESSION被取消(ms)

String[] getValueNames() 返回一个包含此SESSION中所有可用属性的数组

void invalidate() 取消SESSION,使SESSION不可用

boolean isNew() 返回服务器创建的一个SESSION,客户端是否已经加入

void removeValue(String name) 删除SESSION中指定的属性

void setMaxInactiveInterval() 设置两次请求间隔多长时间此SESSION被取消(ms)

7.page – 当前类

class getClass 返回此Object的类

int hashCode() 返回此Object的hash码

boolean equals(Object obj) 判断此Object是否与指定的Object对象相等

void copy(Object obj) 把此Object拷贝到指定的Object对象中

Object clone() 克隆此Object对象

String toString() 把此Object对象转换成String类的对象

void notify() 唤醒一个等待的线程

void notifyAll() 唤醒所有等待的线程

void wait(int timeout) 使一个线程处于等待直到timeout结束或被唤醒

void wait() 使一个线程处于等待直到被唤醒

void enterMonitor() 对Object加锁

void exitMonitor() 对开锁

8.out – JspWriter

void clear() 清除缓冲区的内容

void clearBuffer() 清除缓冲区的当前内容

void flush() 清空流

int getBufferSize() 返回缓冲区以字节数的大小,如不设缓冲区则为0

int getRemaining() 返回缓冲区还剩余多少可用

boolean isAutoFlush() 返回缓冲区满时,是自动清空还是抛出异常

void close() 关闭输出流

9.pageContext – PageContext

JspWriter getOut() 返回当前客户端响应被使用的JspWriter流(out)

HttpSession getSession() 返回当前页中的HttpSession对象(session)

Object getPage() 返回当前页的Object对象(page)

ServletRequest getRequest() 返回当前页的ServletRequest对象(request)

ServletResponse getResponse() 返回当前页的ServletResponse对象(response)

Exception getException() 返回当前页的Exception对象(exception)

ServletConfig getServletConfig() 返回当前页的ServletConfig对象(config)

ServletContext getServletContext() 返回当前页的ServletContext对象(application)

void setAttribute(String name,Object attribute) 设置属性及属性值

void setAttribute(String name,Object obj,int scope) 在指定范围内设置属性及属性值

public Object getAttribute(String name) 取属性的值

Object getAttribute(String name,int scope) 在指定范围内取属性的值

public Object findAttribute(String name) 寻找一属性,返回起属性值或NULL

void removeAttribute(String name) 删除某属性

void removeAttribute(String name,int scope) 在指定范围删除某属性

int getAttributeScope(String name) 返回某属性的作用范围

Enumeration getAttributeNamesInScope(int scope) 返回指定范围内可用的属性名枚举

void release() 释放pageContext所占用的资源

void forward(String relativeUrlPath) 使当前页面重导到另一页面

void include(String relativeUrlPath) 在当前位置包含另一文件


3. JSP标签

<jsp: include>标签 :动态导入,标签用于把另外一个资源的输出内容插入进当前JSP页面的输出内容之中 。

<jsp: forward>标签 :标签用于把请求转发给另外一个资源。

<jsp: param>标签: 当使用<jsp: include>和<jsp: forward>标签引入或将请求转发给其它资源时,可以使用<jsp: param>标签向这个资源传递参数。


4.EL表达式

EL它不是一种开发语言,而是jsp中获取数据的一种规范 ,他的语法很简单,最大的特点就是使用上很方便。

四大域:

属性范围 EL中的名称
Page PageScope
Request RequestScope
Session SessionScope
Application ApplicationScope

Web前端——JSP相关推荐

  1. WEB前端开发的思考与感悟

    最近几年对于web前端的传闻很多,比如人才稀缺,简单易学,待遇丰厚,整体势头发展良好等等.遇到过一个不太熟搞后台开发的同事跑来问我学习前端需要掌握哪些内容,也听说过一个搞IOS开发准备自学前端半个月然 ...

  2. 如何成为一名优秀的web前端工程师[转]

    程序设计之道无远弗届,御晨风而返.---- 杰佛瑞 · 詹姆士 我所遇到的前端程序员分两种: 第一种一直在问:如何学习前端? 第二种总说:前端很简单,就那么一点东西. 我从没有听到有人问:如何做一名优 ...

  3. 零基础开始学 Web 前端开发,有什么建议吗?--知

    张立民 ,北京网站建设http://www.ookcn.com https://www.zhihu.com/question/19637373 https://www.zhihu.com/questi ...

  4. Web前端主要学什么?这些知识要掌握

    Web前端主要学什么?是很多初学Web前端学员都会问到的问题,毕竟近些年来Web开发变化巨大,从简单网页脚本开发语言到开始染指后端服务器开发各种库插件多如牛毛,几乎无所不能.下面,小千就分享给大家We ...

  5. 致刚入门的Web前端小伙伴,这些知识你了解吗?

    Web前端开发工程师,主要职责是利用(X)HTML/CSS/JavaScript/Flash等各种Web技术进行客户端产品的开发.完成客户端程序(也就是浏览器端)的开发,开发JavaScript以及F ...

  6. 零基础转行学Web前端,需要掌握哪些技术?

    前端工程师,也叫Web前端开发工程师.他是随着Web发展,细分出来的行业.尤其是现在互联网时代,Web技术应用更加广泛.网站.手机app.营销H5等等都离不开Web技术.Web前端人才的需求量也是与日 ...

  7. Web前端好学吗 学完之后能干什么

    这几年随着前端的快速发展,市场上前端人才的缺口不断扩大,前端的薪资也水涨船高,很多人被前端的高薪吸引了过来.在一线城市,前端的平均月薪是在15K左右,基本进入前端就是8K起步,而随着技术和业务水平的提 ...

  8. 在web前端调用后台java程序(java类)的方式

    在web前端调用后台java程序(java类)的方式: 首先静态html标签是无法直接调用java程序的,但是可以通过imput button按钮点击,onclick事件调用一个js函数,用这个js函 ...

  9. java下拉菜单_薪资对比:Java开发和web前端薪资哪个好

    Web前端开发和Java开发哪个薪资更高,Web前端开发和Java开发发展前景更好? 互联网行业飞速发展,因此有很多小伙伴想要进入IT行业分一杯羹,但是学什么技术更好,哪一个语言的就业薪资更高,就成了 ...

最新文章

  1. 本博客Matlab、FPGA代码获取方法
  2. 启动欢迎页面时,Android Studio设置全屏Activity
  3. linux查看局域网ip的脚本,检测网段IP使用情况的shell脚本
  4. 奇怪吸引子---Aizawa
  5. 跟随美国博导12年,我学到最深刻的不是科研,而是这个。。。
  6. 垃圾收集六大算法全面理解
  7. 【flink】Flink常见Checkpoint超时问题排查思路
  8. 3D打印产业链全景图
  9. python 根据父子信息 还原成json树
  10. 成绩查询系统源代码-Leo老师
  11. 手把手教如何制作数字证书并进行程序的数字签名
  12. 塑造棋牌游戏文化内涵
  13. 2023 《电脑PC游戏》 红警3:起义时刻
  14. Androidstudio配置git及连接远程库全过程
  15. Microsoft .NET PetShop 4.0 架构与技术分析(七)
  16. RedHat 全部镜像
  17. 裁判文书数据-大数据分析用例
  18. python编码与解码
  19. 职业篇-忠告2-努力工作是成就充实人生不可或缺的要义
  20. Diffraction、Scatterring、Diffusion、Reflection 衍射、散射、干涉、折射 傻傻分不清

热门文章

  1. 协通xt800 anydesk teamview 密码获取
  2. [CTF] SQL注入的一些经验总结(未完待续)【更新:2022.11.25】
  3. 怎样把旧电脑数据迁移到新电脑
  4. 业余时间零基础自学编程,9 个月后我成为一名软件工程师
  5. 用excel打开一个xls文件进度到36%就不动了
  6. matlab根据根求多项式,matlab求解多项式的根
  7. 机器学习中的范数理解(L0,L1,L2)
  8. Mtk平台出现NE的分析简记
  9. Nginx:12---反向代理之(代理模块,代理单个上游服务器)
  10. android sku 库存管理,建议收藏!为什么合理的SKU设置对有效库存管理与销售至关重要?...