JSP基础

1.JSP注释
1./........./ Java代码注释,页面不显示,客户端不可见
2<!-- ..... --> HTML注释,页面不显示,但是会发送到客户端
3.<%-- ..... --%> JSP注释,页面不显示,也不会发送到客户端
2.JSP的脚本scriptlet
1.<%=...%>表示在页面上打印数据
2.<%!...%>声明,全局变量
3.<%....%>局部变量,java语句
3.JSP的四个域对象
1.pageContext:当前页面内有效
2.request:当前请求内有效
3.session:当前的会话内有效(浏览器不关闭一直有效)
4.application:当前服务器生命周期内有效(项目不重启一直有效)
4.JSP的@指令
1.page:contentType 设置页面的编码和格式
pageEncoding 设置页面的编码
import 引包
errorPage 当前页面出现错误跳转的页面
isErrorPage 这是一个错误页面
2.include:包含页面
3.taglib:引入第三方标签库
5.动态标签
格式:<jsp: include..... >、<jsp:forword .........>
include:用于包含其他文件(同时存在)
forword:用于重定向文件、页面跳转(覆盖)
Param:用于参数传递
useBean:用于调用JavaBean
setProperty:用于设置JavaBean的属性值
getProPerty:用于访问Bean的属性
plugin:用于Applet的嵌入操作元素
6.九大内置对象
*request 封装用户提交的消息
*response 向客户端发送数据
*session 用来保存每一个用户的信息
*application 表示所有用户的共享信息
out 页面输出信息
page jsp页面本身
*pageContext JSP的页面容器
config 服务器配置信息,可以取得初始化参数
exception 显示异常信息
7.修改代码
一般而言,修改web.xml、配置文件、java需要重新启动tomcat服务。
修改jsp、html、css、js不需要重启服务
8.内置对象中的常用方法
request:
String GetParameter(String name):
根据请求的字段key,返回字段值value
String[ ] GetParameter(String name):
根据请求的字段key,返回多个字段值value(checkbox)
void setCharacterEncoding("编码格式utf-8"):
设置请求编码,不设置则默认(tomcat以前默认ISO-8859-1,tomcat8以后改为了utf-8)
getRequestDisPatcher("b.jsp"):请求转发的方式跳转页面
getServiceContext():获取项目的ServletContext对象

response:响应对象
提供的方法:
void addCookie(Cookie cookie):服务端向客户端增加cookie对象
void sendRedirect(String location) throw IOException:页面跳转的一种方式
void setContetType(String type):设置服务器响应的编码(设置服务器的contentType类型)
页面重定向 response.sendRedirect("success.jsp");属于跳转页面,取不到数据,而且地址会改变,重定向有两次响应
页面请求转发request.getRequestDispatcher("success.jsp").forward(request,response);能够拿到数据,而且地址不会变,请求转发只有一次响应

session:(服务端)
Cookie(客户端,不是内置对象):Cookie是由服务端生成的,再发送给客户端保存。相当于本地缓存。
作用:提高服务端的访问效率,但是安全性较差。
服务端准备Cookie:
response.addCookie(Cookie cookie)
页面跳转(转发、重定向)
客户端获取Cookie:
request.getCookie();
服务器增加Cookie:response对象;
客户端获取对象:request对象
不能直接获取一个单独的对象,只能一次性将全部的cookie拿到

session机制:
客户端第一次请求服务器时,服务端会产生一个人session对象(用于保存该客户的信息);
并且每个session对象,都会有一个唯一的sessionId(用于区分其他session)
服务端又会产生一个cookie,并且该cookie的name=JSESSIONID,value=服务端sessionId的值;
然后服务端会在响应客户端的同时将该cookie发送给客户端,至此,客户端就有了一个人cookie(JSESSIONID);
因此,客户端的cookie就可以和服务端的session一一对应(JSESSIONID---sessionID)
cookie保存在客户端,session保存在服务端
session方法:
String getId():获取sessionId
boolean inNew():判断是否是新用户(第一次访问)
void invalidate():使session失效(退出登录、注销)
void setMaxInactiveInterval(秒 ):设置最大有效非活动时间

appliation 全局对象
String getContextPath():虚拟路径
String getRealPath(Strring name):绝对路径
9.四大域对象
小-->大
pageCOntext:当前页面有效(页面跳转后无效)
request:同一次请求有效;其他请求无效(请求转发后有效;重定向后无效)
session:同一次会话有效(无论怎么跳转都有效;关闭/切换浏览器后无效;)
appliation:全局变量;整个项目运行期间都有效(切换浏览器任然有效);关闭服务、运行其他项目无效
以上4个对象共有的方法:
Object getAttribute(String name):根据属性名,获取属性值
void setAttribute(String name,Object obj):设置属性值(新建,修改)
setAttribute("a","b");
如果a对象之前不存在,则新建一个a对象;如果a之前已经存在,则将a的值改为b
void removeAttribute(String name):根据属性名。删除对象

多个项目共享、重启后任然有效:JNDI技术
以上的4个范围对象,通过setAttribute()复制,通过getAttribute()取值;
以上范围对象。尽量使用最小的范围。因为对象的范围越大,造成的性能损耗越多。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,039评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,223评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,916评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,009评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,030评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,011评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,934评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,754评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,202评论 1 309
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,433评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,590评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,321评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,917评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,568评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,738评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,583评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,482评论 2 352

推荐阅读更多精彩内容