JSP 学习

JSP (Java Server Pages )

  • 是一个简化的Servlet设计。
  • 一种动态网页技术。
  • 在服务端运行。

PHP开发:LAMP:(Linux,Apache,MySQL,PHP ) 黄金组合


JSP的页面元素构成

  1. 指令
  2. 表达式
  3. 小脚本
  4. 声明
  5. 注释
  6. 静态内容

JSP指令元素:

page指令:位于jsp页面顶端,一个页面可以有多个page指令.

  • 语法:<%@page   属性1=“属性值” 属性2=“属性值  属性3=”属性值“    %>    
  • 例如:   <%@ page language="java"  import="java.util" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8"%>

include指令:将外部页面嵌入到当前的JSP页面中,同时解析这个页面中的JSP语句。

  • <%@ include ... %>

taglib指令: 定义新的自定义标签库,在jsp页面中启动定制行为。

  • <%@ taglib ... %>

JSP注释

HTML的注释:<!--客户端可见-->

JSP注释:<%--  注释内容不会被发送至浏览器甚至不会被编译--%>

JSP脚本注释://单行注释   /**/多行注释


JSP声明:在JSP页面中定义变量或者方法

  • 语法:<%!     Java代码      %>

JSP表达式: 在JSP页面中执行的表达式

  • 语法:<%=    表达式        %>
  • 注意:  表达式不能以分号结尾

JSP九大内置对象:(隐式对象)

  • out对象
  • request对象
  • response对象
  • session对象
  • application对象
  • page pageContext exception config对象

out对象

是JspWriter类的实例,是向客户端输出内容常用的对象

  1. void println()   向客户端打印字符串   【out.println("要打印的内容");】
  2. void clear() 清除缓冲区的内容,但是如果在flush之后调用会抛出异常  【out.clear();】
  3. void clearBuffer();  清除缓冲区的内容,如果在flush之后调用不会抛出异常。 【out.clearBuffer();】
  4. void flush() 将缓存区内容输出到客户端 【out.flush();】
  5. int getBufferSize() 返回缓冲区以字节数的大小,如果没有设置缓冲区则返回0【out.getBufferSize();】
  6. int getRemaining() 返回缓冲区还剩多少可用【out.getRemaining();】
  7. boolean isAutoFlush()  返回缓冲区满时,自动清空还是抛出异常【out.isAutoFlush();】
  8. void close()  关闭输出流   【out.close();】

request对象

客户端请求信息被封装在requset对象中,通过request对象才能了解客户的需求,然后做出响应。

他是HttpServletRequest类的实例。

Request对象具有请求域(完成客户端的请求之前,这个对象一直有效)

  1. String getParameter(String name)   返回name指定参数的参数值
  2. String[] getParameterValues(String name)  返回包含参数name的所有值的数组
  3. void setAttribute(String ,Object); 存储此请求中的属性
  4. Object getAttribute(String name)  返回指定属性的属性值
  5. String getContentType() 得到请求体的MIME类型
  6. String getProtocol()  返回请求用的协议类型及版本号
  7. String getserverName()  返回接收请求的服务器主机名

Response内置对象

response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到他

是HttpServletResponse类的实例。

response对象具有页面作用域,即访问一个页面时,该页面内的response对象只能对这次访问有效,其他页面的response对象对当前页面无效。

  1. String getCharaterEncoding()  返回响应用的何种字符编码 
  2. void setContentType(String type) 设置响应的MIME类型
  3. PrintWriter getWriter() 返回可以向客户端输出字符的一个对象 (要导入java.io.*的包)
  4. sendRedirect(java.lang.String location) 重新定向客户端的请求

请求重定向:

客户端行为  response.sendRedirect()  从本质上讲等于两次请求,前一次请求对象不会保存,地址栏的URL地址会改变

请求转发:

服务器行为, request.getRequestDispatcher().forward(request,response); 是一次请求,转发后请求对象会保存,地址栏的URL不会改变。


Session内置对象

session表示客户端与服务器的一次会话

Web中的session指的是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间

session实际上是一个特定的时间的概念,是HttpSession类的实例。

  • 向session添加数据          void session.setAttribute(String name,Object obj);
  • 获取绑定数据        void session.getAttribute(String name);
  • 移除绑定数据         void session.removeAttribute(String name);
  • 删除session对象       void  invalidate()

Application内置对象

  1. 实现用户之间的数据共享,可以存放全局变量
  2. 开始与服务器的启动,终止与服务器的关闭
  3. 在用户的前后连接或不同于用户之间的连接中,可以对application对象的同一属性进行操作
  4. 在任何地方对application对象属性的操作。都影响到其他用户对此的访问
  5. 服务器的启动和关闭决定了application对象的生命。
  6. application对象是ServletContext类的实例。
  • public void setAttribute(String name,Object value)使用指定名称将对象绑定到此对话。
  • publlic Object getAttribute(String name)返回与此对话中指定名称绑定在一起的对象,如果没有对象绑定在该名称下,则返回null。
  • Enuneration getAttributeNames() 返回所有可用属性名的枚举。
  • String getServerInfo() 返回JSP(SERVLET)引擎名及版本号

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值