JSP和Servlet笔记
一、JSP的3个编译指令
作用:page指令用于设置整个jsp页面相关的属性,比如页面的编码格式、所包含的文件等等,它们包含在<%@ page %>标记中。
1)page 指令
以下为page指令各属性的描述:
. language ——指定jsp脚本所采用的语言种类,默认为Java
. extends ——定义当前jsp页面产生的Servlet继承哪个分类
. import ——定义当前jsp页面所使用的JavaAPI,多个API用逗号分开
. session ——指定当前jsp页面是否使用Session,默认为true
. buffer ——指定输出流缓存的大小,默认值为8KB
. autoFlush ——指定输出流缓冲区是否需要自动清除,默认值为true
. isThreadSafe ——指定当前jsp页面是否能处理多个线程的同步请求
. info ——指定当前jsp页面的相关信息
. errorPage ——指定当前jsp页面发生错误时转向的错误页面
. contentType ——指定当前jsp页面mime类型的编码格式
. isErrorPage ——指定当前jsp页面是否为处理错误的页面
. pageEncoding ——指定当前jsp页面编码的字符集,默认值为ISO--
page指令对整个页面都有效,包含静态的包含文件,但不能用于被动态包含的文件,例如:<jsp:include>包含的文件。
2) include 指令
作用:include指令用于在JSP页面中包含其他文件。
语法:<%@ include file="路径名"%>
include指令只有一个属性file,其值为文件的相对路径。
3)taglib 指令
taglib 指令允许用法使用标签库自定义新的标签,语法如下:
<%@ taglib uri="taglibURI" prefix="tabPrefix"%>
uri:用于根据标签库的前缀对自定义的标签进行唯一的命名,其值可以是相对路径、局对路径或标签库描述文件。
prefix:指定了标签的前缀。
二、JSP的7个动作指令
JSP的动作指令和编译指令不同,编译指令用于设置整个JSP页面相关属性,而动作指令则是用于脚本动作。
1)jsp:include指令
作用:用于在请求处理阶段包含来自一个Servlet或JSP页面的响应。编译指令中的include只能包含静态页面,而jsp:include指令则同时包含静态页面和动态页面。
语法格式:
. <jsp:include page="文件路径"/> 或者:
. <jsp:include page="文件路径">
. <jsp:param name="参数1" value="参数值"/>
. 。。。。。。
. <jsp:param name="参数n" value="参数值"/>
. </jsp:include>
2)jsp:forward指令
作用:用于执行页面转向,将请求处理转发到下一页面。
语法格式:
. <jsp:forward page="文件路径"/> 或者: . <jsp:forward page="文件路径"> . <jsp:param name="参数名1" value="参数值"/> . ...... . <jsp:param name="参数名n" value="参数值"/> . </jsp:forward>
3) jsp:useBean指令
作用:用来在JSP页面创建一个JavaBean实例。
语法格式:
<jsp:userBean id="JavaBean的名称" scope="有效范围" class="包名.类名"></jsp:usebean>
1. id:指定JavaBean 的名称,只要在它的有效范围内,均可使用这个名称来调用它。
2. scope:JavaBean的有效范围,它有4个值:request、session、page、application。
3. class:指定所归属的类。
4)jsp:setProperty指令
作用:用来设置Bean属性值。
语法格式:
<jsp:setProperty name="JavaBean 的名称" property="*"/>
或者
<jsp:setProperty name="JavaBean 的名称" property="属性名称"/>
或者
<jsp:setProperty name="JavaBean 的名称" property="属性名称" param="参数名称"/>
或者
<jsp:setProperty name="JavaBean 的名称" property="属性名称" value="属性值"/>
1. property值为*表示保存用户在JSP输入的所有值,用于匹配Bean中的属性。
2. property值为其它值时表示匹配的一个Bean的属性。
3. param属性表示根据指定的request对象中的参数与属性匹配。
4. value属性表示使用指定的值来设置属性。
5)jsp:getProperty指令
作用:用来读取Bean中的属性值,并将其转换为一个字符串在页面上输出。
语法格式:
<jsp:getProperty name="bean的名称" property="属性名称"/>
1. name的值对应着jsp:userBean的id值。
2. property的值对应着userBean中的属性名。
6)jsp:plugin指令
jsp:plugin指令用于下载服务器端的 JavaBean 或 Applet 到客户端执行。
7)jsp:param指令
jsp:param 指令用于设置参数值,它不能单独使用,主要用在jsp:include 指令、jsp:forward 指令和jsp:plugin指令中。
三、JSP的9个内置对象
内置对象是指不需要预先定义就可以在JSP页面中直接使用的对象。
1)request 对象
request对象用于获取客户端提交的数据,这些数据包括头信息、客户端地址、请求方式等。
. getParameter(String name) ——获取表单提交的数据
. getParameterNames() ——获取客户端提交的所有参数名
. getAttribute(String name) ——获取 name 指定的属性值
. getAttributeNames() ——获取 request 对象所有属性的名称集合
. getSession(Boolean create) ——获取HttpSession对象
. getCookies() ——获取Cookie对象
. getProtocol() ——获取客户使用的协议名称
. getServletPath() ——获取客户端请求的脚本的相对路径
. getMethod() ——获取客户端提交数据的方式,如GET、POST等
. getHeader() ——获取文件头信息
. getRermoteAddr() ——获取客户端的IP地址
. getServerName() ——获取服务器名称
. getRemoteHost() ——获取客户端主机的名称
. getServerPort() ——获取服务器的端口号
2)response对象
response 对象用于对客户端的请求作出动态的响应,向客服端发送数据。
1. getCharacterEncoding() ——返回响应用的字符编码格式 2. getOutputStream() ——返回响应的输出流 3. getWrite() ——返回可以向客户端输出字符的一个对象 4. getContentLength(int leng) ——设置响应头的长度 5. getContentType(String type) ——设置响应的 mime 类型 6. getRedirect(String location) ——重新定向客服端的请求 7. flushBuffer() ——强制把当前缓冲区的数据发送到客户端 8. addCookie(Cookie cookie) ——在客户端添加一个Cookie
3)session 对象
session对象可用来保护用户的会话信息和会话状态。
. getId() ——获取 session 的标识符 . getAttribute(String key,Object obj) ——将参数Object指定的对象obj添加到session对象中,并为添加的对象指定一个索引值 . getAttribute(String key) ——获取session对象中含有关键字的对象 . isNew() ——判断用户是否参与了会话 . inValidate() ——使当前会话失效 . removeAttribute(String name) ——删除一个指定session的值 . getCreationTime() ——获取 session 对象创建的时间
4)out对象
out对象用来向客户端输出各种数据。
. print()/println() ——输出各种类型的数据 . clearBuffer() ——清除缓冲区的数据,并将数据写入客户端 . clear() ——清除缓冲区当前内容,但不将数据写入客户端 . flush() ——输出缓冲区中的数据 . newLine() ——输出一个换行符号 . close() ——关闭输出流
5)page对象
page对象就是当前JSP页面本身,类似于Java中的this。
. getClass() ——获取page对象的类 . hashCode() ——获取page对象的hash码 . equals(Object obj) ——判断page对象是否与参数中的obj相等 . copy(Object obj) ——把此page对象复制到指定的Object对象中 . clone() ——克隆当前的page对象 . toString() ——把page对象转换成String类型的对象
6)application对象
application对象实现了用户间数据的共享,可存放全局变量。
. setAttribute(String key,Object obj) ——将参数Object指定的对象obj添加到application对象中,并为添加的对象指定一个索引值 . setAttribute(String name) ——获取指定的属性值 . setAttributeNames() ——获取一个包含所有可用属性名的枚举 . removeAttribute(String name) ——删除一个指定的 application 的值 . getContext(String uripath) ——获取指定WebApplication 的application对象 . getResource(String path) ——获取指定资源(文件及目录)的URL路径 . getResourceAsStream(String path) ——获取指定资源的输入流 . getServlet(String name) ——返回指定的Servlet . log(String msg) ——把指定消息写入Servlet的日志文件
7)pageContext对象
pageContext对象用于管理对属性JSP中特殊可见部分中已经命名对象的访问。
. setAttribute(String name,Object obj) ——设置默认页面范围或特殊对象范围之中的已命名对象 . setAttribute(String name,[int scope]) ——获取一个已命名为name的对象的属性,可选参数scope表示在特定范围内 . removeAttribute(String name,[int scope]) ——删除指定范围内的某个属性 . forward(String relativeUrlPath) ——将当前页面重定向到其他页面 . include(String relativeUrlPath) ——在当前位置包含另一个文件 . release() ——释放 pageContext 对象所占用的资源 . getServletContext() ——获取当前页面的ServletContext对象 . getException() —— 获取当前页面的Exception对象
8)config对象
config对象用来获取服务器初始化配置参数。
. getServletContext() ——获取当前的Servlet上下文 . getInitParameter() ——获取指定的初始参数的值 . getInitParameterNames() ——获取所有初始参数的值 . getServletName() ——获取当前的Servlet名称
9)exception对象
exception对象用于处理JSP页面中发生的错误和异常
. getMessage() ——获取当前的错误信息 . getLocalizedMessage() ——获取本地化语言的异常错误 . printStackTrace() ——输出一个错误和错误的堆载跟踪 . fillStackTrace() ——重写异常的执行栈轨迹 . toString() ——关于异常错误的简单信息描述
JSP和Servlet笔记的更多相关文章
- jsp、servlet笔记
1.init 初始化Jsp&Servlet方法 destroy 销毁Jsp&Servlet之前的方法 service 对用户请求生成响应的方法2.Jsp文件必须在jsp服 ...
- # jsp及servlet学习笔记
目录 jsp及servlet学习笔记 JSP(Java Server Page Java服务端网页) 指令和动作: servlet(小服务程序) jsp及servlet学习笔记 JSP(Java Se ...
- 新手学习JSP+Servlet笔记一
作为一个新手,初次接触jsp,servlet,习惯了后台的开发,前台的知识一窍不通,利用闲暇时间,给自己补补,从MyEclipse开始. 安装好MyEclipse之后,没有安装程序的可以下载 http ...
- JSP和Servlet学习笔记1 - 访问配置
1. 访问 WebContent 目录下的 JSP 文件 在 WebContent 目录下的文件可以直接在浏览器中访问.新建一个 test.jsp 文件 <%@ page language=&q ...
- JSP的Servlet监听器
JSP的Servlet监听器 来源: http://blog.csdn.net/phoenix_17th/article/details/3868670 Servlet 监听器用于监听一些重要事件的发 ...
- Jsp之神笔记
JSP笔记 Tomcatserver port: port就是指的某一个程序网络入口,Tomcat的初始化port为:8080: port的个数:256*256=65536个: 一般常见协议的缺省po ...
- jsp与servlet(转)
一.基本概念 1.1 Servlet Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面.它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器 ...
- 一、jsp和Servlet基础理论及jstl和EL表达式用法
1.题外话:使用JSP有近一年半的时间了,但是开发量不大.昨天部门突然让做个读取EXCLE文件,然后在前台页面进行展示.并通过点击查看按钮可以对每条明细记录进行跳转后进行详情查看,并按照页面原型进行页 ...
- 【转】(超详细)jsp与servlet之间页面跳转及参数传递实例
初步学习JavaEE,对其中jsp与Servlet之间的传值没弄清楚,查看网上资料,发现一篇超详细的文章,收获大大,特此记录下来.具体链接:http://blog.csdn.net/ssy_shand ...
随机推荐
- 实现我博客旁边的线条效果 html canvas-nest.js 源码
canvas-nest.js 这个js文件可以用来实现炫酷的线条与鼠标进行交互的功能,具体效果如图所示 js具体源码如下: /** * Copyright (c) 2016 hustcc * Lice ...
- Linux主机SSH免密设置解析
为了保证一台Linux主机的安全,所以我们每个主机登录的时候一般我们都设置账号密码登录.但是很多时候为了操作方便,我们都通过设置SSH免密码登录.那么该如何设置?是不是免密码登录就不安全了呢? 一.被 ...
- Python3入门笔记(1) —— windows安装与运行
Python的设计哲学是"优雅"."明确"."简单".这也是我喜欢Python的理由之一 Python的安装: 1.进入Python官方网站 ...
- [array] leetcode - 48. Rotate Image - Medium
leetcode - 48. Rotate Image - Medium descrition You are given an n x n 2D matrix representing an ima ...
- Mybatis篇总结
本文是对慕课网上"搞定SSM开发"路径的系列课程的总结,详细的项目文档和课程总结放在github上了.点击查看 JDBC写法 //sql: String sql = "s ...
- Spring之AOP二
在Spring之AOP一中使用动态代理将日志打印功能注入到目标对象中,其实这就是AOP实现的原理,不过上面只是Java的实现方式.AOP不管什么语言它的几个主要概念还是有必要了解一下的. 一.AOP概 ...
- Selinux安全机制
1.Selinux安全机制简介 Selinux是Google在Android 4.4上正式推出的一套以SELinux为基础于核心的系统安全机制.而SELinux则是由美国NSA(国安局)和一些公司(R ...
- HTTPS从认识到线上实战全记录
前言 关于HTTPS,基本上你想知道的都在这里了.本文原标题<HTTPS原理与实践>,下图是本文配套PPT的目录截图: [TOC] 原理篇 认识HTTPS 先说一下,本文可能有些地方由于描 ...
- input选择框样式修改与自定义
html自带的选择框样式不好看,并且在ios设备上丑的罚款.所以一般都是自定义样式: 原理:将原来默认的input选择框隐藏,然后控制label的:before与:after,配合矢量图标或者图片来实 ...
- MySQL 优化实施方案
1.1 前言 在进行MySQL的优化之前必须要了解的就是MySQL的查询过程,很多的查询优化工作实际上就是遵循一些原则让MySQL的优化器能够按照预想的合理方式运行而已.更多关于MySQL查询相关参照 ...