DayFour JSP基础(上)

1.1jsp简介

jsp是 Java Sever Page的缩写。

1.2几种常见的WEB语言优劣

JSP:java平台,安全性高,适合开发大型的企业型WEB应用程序,与SERVLET一样,在服务器端执行。

ASP.NET 简单易学,但是安全性以及跨平台性较差。

PHP:简单高效,成本低,开发周期短,适合中小型企业的WEB应用开发。LAMP=Linux+Apache + Mysql + PHP

1.3java页面元素构成

声明+表达式+小脚本+指令+注释+静态内容

1.4JSP指令

Page指令:通常用于jsp页面的顶端,同一个页面可以有多个Page指令

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

taglib指令:使用标签定义新的自定义标签在JSP中启用定制行为。

2.1JavaWeb开发基本知识

Web 应用程序有以下特点:

1)使用HTTP协议通信

2)服务器把数据组织成HTML格式

3)浏览器安装方便

2.2jsp实质

jsp从本质上来说就是一个servlet文件,只不过在创建上的方式不同,在进行编译之后就会再次变成一个servlet这个文件

2.3 jsp注释

在jsp页面的注释。

在HTML上的注释:<!--  html注释 --> 当jsp被解析为java文件时,客户端可见,注释的语句会被out.println()方法返回到客户端。

JSP的注释:<%-- html --%> .只能用来注释JSP文件,在JSP文件被解析成Java文件时,注释会被删除,客户端不可见。PS:即服务器端元素

Java注释:单行注释 //  多行注释/* */               不可见

2.4 JSP 脚本

概念:在JSP文件中插入的Java脚本

语法:<% Java代码 %>

Jsp声明:定义插入到Servlet中的成员变量和方法,在页面上不会有数据的输出,要输出所声明的数据,就要和其他表达式配合使用。

语法:<%!  java变量或者是方法   %>

JSP表达式:把方法的结果或者是变量的值作为一个字符串输出。即在JSP页面执行的表达式

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

2.5 页面元素Page

JSP通过多线程进行处理

2.6 JSP内置对象

2.6.1内置对象简介

JSP内置对象是WEB容器创建的一组对象,不需要使用new关键字就可以使用的空置对象。

2.6.2常用内置对象

out      request      response       session      application    Page   pageContent     exception   config   当然,后面四个不常用

web应用程序:请求和响应模式。

缓冲区:Buffer。所谓缓冲区就是内存的一块区域用来保存临时数据。

2.6.7  out对象

里面有一系列的方法能对缓冲区之类的进行处理。其中有.cleare() 和  .flush()  这两个方法但是前者如果在后者之后再调用的话就会报出异常。解决办法:使用 .cleareBuffer() 这个方法。

2.6.8 get 与 post 两者之间的区别

这两个是表单 form 的提交方式。

get:以明文的方式,通过URL提交数据,数据在URL中可以看到,提交的数据最多不超过2kb,安全性较低,但是效率比post方式高,适合提交数据量不大,安全性不高的数据,比如:搜查、查询等功能。

post:将用户提交的信息封装在HTML、HEADER内,适合提交数据量大,安全性高的用户信息,比如:注册修改上传等功能。

2.6.9 request对象

客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应,它是HttpServeltRequest类的实例。request对象具有请求域,即完成客户端的请求之前,该对象一直有效。同样,也有很多不一样的方法:

setCharacterEncoding(String encoding) 设置表单的编码方式。

getParameter(String key) 返回客户端用户提交的参数。

getParameterValues(String keys) 返回多个同名参数值,以数组的形式返回。

void setAttribute(String Object)  存储此请求中的属性

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

2.6.10   控制服务器的响应信息  response

response 对象包含了响应客户请求的有关信息,但在JSP中很少直接用到他,它是HttpServeltResponse 类的实例,response 对象具有页面作用域,即访问一个页面时,该页面内的response 对象只能对这次访问有效其他页面的response 对象对当前页面无效。

常用方法:。。。

2.6.11 请求重定向与请求转发的区别

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

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

2.6.12 session  对象

session 对象,表示客户端的一次会话,web中的session指的是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间也就是用户浏览这个网站所花费的时间。

什么是session?

 在服务器的内存中保存着不同用户的session

session对象在第一个JSP页面被装载时自动创建完成会话期管理。

会话:从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器,离开这个服务器结束被称为一个会话。

当一个客户访问一个服务器时,可能会在服务器的几个页面之间切换,服务器应当通过某种方法知道这是一个用户,这就需要用到session

session对象是一个 HttpSession 对象实例。

session创建周期:

      创建:当客户端第一次访问某个jsp或者Servelt 时,服务器会为当前会话创建一个SessionId,每次客户端向服务器端发送请求时,都会将此sessionId 携带过去,服务器端会为这个ID进行校验。

       活动:1》某次会还中通过超链接打开的新页面属于同一次会话。

                  2》只要当前页面没有全部关闭重新打开新的浏览器窗口进行访问同一项目资源时,属于同一次会话。

                  3》除非本次会话的所有页面都关闭后再重新访问某个JSP或者Servlet将会创建一个新的会话。

注意事项:注意原有的会话还存在,只是这个旧的sessionId 任然存在,存在于服务器,只不过再也没有客户端携带他然后交与服务器进行校验。

       销毁:1》调用了session.invalidate() 方法。

                  2》session超时(默认30分钟)。当然这个时间我们也能进行修改,@1:调用方法:setMaxInactiveInterval() 单位:秒。  @2:在web.xml 文件中进行修改 单位十分钟。

其他四个对象不常用,这里就不再一一说明。

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

推荐阅读更多精彩内容

  • 1.什么是JSP (1)jsp全称是Java Server Pages,它和Servlet技术一样都是sun公司定...
    yjaal阅读 3,635评论 5 99
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,598评论 18 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,577评论 18 399
  • 前面讲了servlet入门实践现在开始介绍jsp入门实践,开发环境的搭建请参考我前面的tomcat的文章,jsp入...
    伊豚wall阅读 3,359评论 2 56
  • JSP(Java Server Pages),其根本是一个简化的 Servlet 设计,实现了在 Java 当中使...
    静候那一米阳光阅读 458评论 0 1