友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
狗狗书籍 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

JSP入门教程(DOC格式)-第5章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!




   2。  了解 tomcat 下 jsp 的放置位置,以及如何访问对应路径下的 jsp。  

   3。  了解http 基本原理,以及 jsp 在 http 下是如何发挥效用的。  



1。1。 开篇第一个 jsp  



JSP 是 Java Server Page 的缩写,现在先让我们编写一个简单的 jsp 页面,看 

看 jsp 究竟能干什么?  



  



随便找一个文本编辑器来编写第一个 jsp 吧,如果实在没有顺手的编辑器,那么 

也可以用 windows 自带的记事本,新建一个test。jsp 文件,把上面的代码复制 

到文件里;保存即可。  



如果嫌麻烦,也可以直接使用文档附带的演示代码,位置在 

lingo…sample/01…01/test。jsp。  



注意  



对于第一次用记事本写代码的朋友,有一点需要特别注意,默认情况下 windows 

不会显示扩展名,如果直接在记事本里将文件名改为 test。jsp,那么另存的文 

件名会变成 test。jsp。txt,记事本会自作聪明的为你加上。txt 的扩展名,为了 

避免这种问题,需要在保存的时候,在文件名两端加上双引号,就像这样 

〃test。jsp〃。  



建议设置系统文件夹属性,把文件的扩展名显示出来,这样我们更容易看出是否 

在文件名上出现问题。如果找不到这个设置,请打开“我的电脑” …》 选择上方 

菜单里的“工具” …》 选择弹出菜单中的“文件夹选项” …》 选择第二个标签“查 

看”,在下边的配置里有一项“隐藏已知文件类型的扩展名”,将它前面的对勾 

取消,点击确定,就可以看到文件的全名了。  



                               15 / 148  


…………………………………………………………Page 16……………………………………………………………

                                   



得到了我们的第一个 jsp 文件之后,让我们把它复制到 tomcat/webapp/ROOT 目 

录下。现在检查一下 tomcat 是不是已经启动了,如果还没启动,需要先去启动 

tomcat,在看到 tomcat 正常启动的提示之后,就可以打开浏览器,输入网址  

http://localhost:8080/test。jsp 查看执行效果。  



页面上的显示应该与下面类似:  



Fri Feb 29 00:54:20 CST 2008    



看到了这些字样,也就说明我们写的第一个 jsp 已经成功执行了,现在咱们看到 

的并不是谁预先写好的文字,而是使用服务器实时计算出的当前时间,如果不信 

你可以多刷新几次页面,时间内容会不断改变,显示的永远是当前服务器的时间。  



好的,现在就引出了一个问题,jsp 是如何把我们需要的数据发送给我们的。  



1。2。 B/S 结构,请求与响应  



B/S 结构,既浏览器(Browser)/服务器(结构),用浏览器查看 jsp 写的页面 

就算非常简单的 B/S 结构了。  



先看看在我们访问 http://localhost:8080/test。jsp 的时候究竟发生了什么:  



   1。  首先,浏览器解析我们输入的网址,查找服务器的位置。  



      咱们这里使用了 http://localhost:8080/,浏览器就会以 http 协议,去 

      访问 localhost 的 8080 端口,localhost 是本机的别名,8080 是 tomcat 

      的默认端口,即使现在不太理解也没有关系,只要知道 

      http://localhost:8080/是你这台机器上运行的 tomcat 就可以了。  



   2。  找到了服务器的位置,浏览器会向服务器发送一个请求(request),这 

      个请求包含着 http 协议规定格式的数据,现在咱们不需要去计较细节, 

      先把注意力集中在流程上。  



                                                          



   3。  接下来,服务器接收请求,分析请求中包含的数据。这个分析过程也是定 

      义在 http 协议中的,像我们这里请求的是/test。jsp 这个 jsp 页面,服 

      务器就会去 webapp/ROOT 目录下去查找这个test。jsp,然后对它进行解 

      析,运行。  

   4。  在服务器的操作结束后,会生成一个响应(response ),并把这个响应发 

      送回客户机器的浏览器。  



                                 16 / 148  


…………………………………………………………Page 17……………………………………………………………

                                



                                                   



     5。  现在浏览器接收了响应,开始进行解析与运行,最后把结果显示给用户, 

       这就成为我们最后看到的结果。  



  这就是 http 协议的基本流程了,像我们看到的一样,浏览器与服务器之间完全 

  是依靠请求和响应联系起来的。这就像是在打乒乓球,浏览器发过一个球来,服 

  务器接到球,反手再打回去。双方队员之间不会有其他接触,所有的交流就是那 

  颗小球。  



  这也暗示了 http 中另一个重要的特性:短连接,无状态。  



      短连接是指:请求响应一次,服务器就关闭与浏览器之间的网络连接。  

      无状态是指,任意两次请求响应之间,没有直接的联系。  



  浏览器发出一个请求,服务器才能返回一个响应。一个请求对应一个响应,每个 

  过程都是完全独立的。并且服务器端是被动的,只能接收请求,然后向请求的原 

  发地发送响应,如果没有请求,服务器没办法凭空发一个响应出去,因为它不知 

  道客户的机器在什么地方。浏览器和服务器之间也不会拉一根电话线,随时保证 

  畅通,每次请求处理完之后,服务器就会立刻忘掉上次请求的信息。这样做的好 

  处是处理简单,连接用完就断,不会浪费资源,坏处是在进行复杂操作的时候, 

  因为没法保证用户当前的状态,只好把表示状态的信息不断的在浏览器和服务器 

  之前传来传去,造成了操作的复杂。  



  一个请求一个响应,构筑了 http 协议的基础,jsp 则是专门管辖服务器的部分, 

  这样我们就可以把 jsp 的功能锁定在第二步和第三步了。处理请求,返回响应, 

  这便是 jsp 的所有工作。  



  再重复一遍,jsp 只负责服务器的操作,浏览器上的任何东西都与其无关,显示 

   图片,显示文字,点击按钮,弹出窗口,这些都是浏览器的工作职能。并且,因 

  为 http 的无状态性,jsp 一旦返回了响应,就再不管其他的了。它绝对不会也 

  不能直接对浏览器造成什么影响,它所能做是把响应这颗球打出去,剩下的就全 

  看浏览器了。浏览器会发生什么事情,jsp 也无从得知,如果想让 jsp 做些什么 

  事情,唯一的办法就是发送一个请求。  



  重复第三遍,浏览器和服务器基本就是两个孤岛,两地居民的交流只能通过飞鸽 

  传书来实现。在一封信到达之前,本地人是没办法得知对面的消息的,每当浏览 

  器这边岛上的居民想要什么东西,他们就把需要的东西写到信里,用信鸽传递给 

  服务器那边的岛上,服务器收到信鸽的消息,会按照上边所写的准备好,再放飞 

  回去,等浏览器等到他们要的信鸽,就可以把东西放下来随便用了。两地居民直 

  接接触的只有信鸽,他们从信鸽上那到他们想要的东西,对面的人长什么样子, 

  是人是鬼他们全不在意,只要大家都会用信鸽就好了,http 就是这样一只大家 

  都会用的信鸽了。  



                              17 / 148  


…………………………………………………………Page 18……………………………………………………………

                                      



希望现在大家已经对 http 有了清晰的认识,如果不了解它的运行原理,带着一 

脑子糨糊学 jsp,那可是太可怕了,最怕的就是把 jsp 和浏览器混为一谈,认为 

是浏览器在运行 jsp。实际上 jsp 是完全不知道浏览器的存在,它只是根据 http 

形式的请求,发送 
返回目录 上一页 下一页 回到顶部 0 0
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!