JSP (Java Server Pages )
- 是一个简化的Servlet设计。
- 一种动态网页技术。
- 在服务端运行。
PHP开发:LAMP:(Linux,Apache,MySQL,PHP ) 黄金组合
JSP的页面元素构成
- 指令
- 表达式
- 小脚本
- 声明
- 注释
- 静态内容
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类的实例,是向客户端输出内容常用的对象
- void println() 向客户端打印字符串 【out.println(“要打印的内容”);】
- void clear() 清除缓冲区的内容,但是如果在flush之后调用会抛出异常 【out.clear();】
- void clearBuffer(); 清除缓冲区的内容,如果在flush之后调用不会抛出异常。 【out.clearBuffer();】
- void flush() 将缓存区内容输出到客户端 【out.flush();】
- int getBufferSize() 返回缓冲区以字节数的大小,如果没有设置缓冲区则返回0【out.getBufferSize();】
- int getRemaining() 返回缓冲区还剩多少可用【out.getRemaining();】
- boolean isAutoFlush() 返回缓冲区满时,自动清空还是抛出异常【out.isAutoFlush();】
- void close() 关闭输出流 【out.close();】
request对象
客户端请求信息被封装在requset对象中,通过request对象才能了解客户的需求,然后做出响应。
他是HttpServletRequest类的实例。
Request对象具有请求域(完成客户端的请求之前,这个对象一直有效)
- String getParameter(String name) 返回name指定参数的参数值
- String[] getParameterValues(String name) 返回包含参数name的所有值的数组
- void setAttribute(String ,Object); 存储此请求中的属性
- Object getAttribute(String name) 返回指定属性的属性值
- String getContentType() 得到请求体的MIME类型
- String getProtocol() 返回请求用的协议类型及版本号
- String getserverName() 返回接收请求的服务器主机名
Response内置对象
response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到他
是HttpServletResponse类的实例。
response对象具有页面作用域,即访问一个页面时,该页面内的response对象只能对这次访问有效,其他页面的response对象对当前页面无效。
- String getCharaterEncoding() 返回响应用的何种字符编码
- void setContentType(String type) 设置响应的MIME类型
- PrintWriter getWriter() 返回可以向客户端输出字符的一个对象 (要导入java.io.*的包)
- 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内置对象
- 实现用户之间的数据共享,可以存放全局变量
- 开始与服务器的启动,终止与服务器的关闭
- 在用户的前后连接或不同于用户之间的连接中,可以对application对象的同一属性进行操作
- 在任何地方对application对象属性的操作。都影响到其他用户对此的访问
- 服务器的启动和关闭决定了application对象的生命。
- application对象是ServletContext类的实例。
- public void setAttribute(String name,Object value)使用指定名称将对象绑定到此对话。
- publlic Object getAttribute(String name)返回与此对话中指定名称绑定在一起的对象,如果没有对象绑定在该名称下,则返回null。
- Enuneration getAttributeNames() 返回所有可用属性名的枚举。
- String getServerInfo() 返回JSP(SERVLET)引擎名及版本号
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/69285.html