友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!
第三电子书 返回本书目录 加入书签 我的书架 我的书签 TXT全本下载 『收藏到我的浏览器』

JSP入门教程(DOC格式)-第3部分

快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部! 如果本书没有阅读完,想下次继续接着阅读,可使用上方 "收藏到我的浏览器" 功能 和 "加入书签" 功能!




                                                                                                                                                            



请确认安装了 jdk,并配置了对应的 JAVA_HOME 环境变量。  



双击运行 bin 目录下的startup。bat  



                                                                                                                                                           



看到:“server startup in 4062 ms”,说明 tomcat 启动成功。   



                                                                  12 / 148  


…………………………………………………………Page 13……………………………………………………………

                                                                                    



                                                                                                                                                                                                  



关闭 tomcat,可以直接关闭 cmd 窗口,或使用 shutdown。bat  



                                                                             13 / 148  


…………………………………………………………Page 14……………………………………………………………

                                                                                  



                                                                                                                                                                                       



到此为止,准备工作都已结束,我们可以在 tomcat 下编写 jsp 了。  



                                                                            14 / 148  


…………………………………………………………Page 15……………………………………………………………

                                 



                  第 1 章 开始编写 jsp  



注意  



因为本章包含了对http 部分原理的介绍,建议读者不要略过这部分。  



如果你不满足以下任一条件,请继续阅读,否则请跳过此后的部分,进入下一章: 

第 2 章 让 jsp 说 hello。  



   1。  了解 jsp 的基本组成,可以编写简单的 jsp。  

   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 

形式的请求,发送 http 形式的响应,如果对面的浏览器能解析 http 形式的响应, 

就能显示出页面来,幸运的是目前市面上的浏览器都能解析 http 形式的响应, 

所以我们只要制造符合标准的数据,当作响应发送出去就行了。  



其实一切都是这么简单,只要能了解它的运行原理,我们就可以在自己的舞台上 

大施拳脚,不用为涉及不到的领域胡乱苦恼了。  



下一章,我们就可以研究如何使用 jsp 了。  



                                    18 / 148  


…………………………………………………………Page 19……………………………………………………………

                                          



                     第 2 章 让 jsp 说 hello  



注意  



为了保证循序渐进的学习状态,我们这里无可奈何的使用了一些在正式工作时明 

令禁止的代码,请大家在阅读此章务求领会精神,千万不要死记硬背,以防遗憾 

终身。  



如果你不满足以下任一条件,请继续阅读,否则请跳过此后的部分,进入下一章: 

第 3 章 请求的跳转与转发。  



    1。  了解从request 中获得参数的方法。  

    2。  了解一些 jsp 指令(directive)。  

    3。  了解中文乱码问题。  



2。1。 另一个简单 jsp  



上一篇举的例子很单纯,无论谁向服务器发送请求,服务器都只计算当前系统时 

间,然后把这个时间制作成http 响应发还给浏览器。  



可惜这种单向的响应没办法实现复杂的业务,比如像这样:  



                                                           



客户在这个页面输入自己的名字,然后提交:  



                                                           



服务器会对你说:“你好啊,XXX。”  



                                                           



返回刚才的页面,再输入另外一个名字:  



                                       19 / 148  


…………………………………………………………Page 20……………………………………………………………

                                         



                                                         



提交以后就变成这样:  



                                                         



呵呵,神奇吧,服务器知道你叫什么名字,而且还会向你问好。  



虽然咱们都知道这只是从请求中获得了用户名,加上欢迎信息再发送回浏览器, 

但最终用户会感到更亲切。下面就让我们来看一下如何从请求获得参数吧。  



首先用户输入页面会是这样的:  



  

    username :   

      

      

   



这里是一个简单的 form,里面只有一个名叫username 的文本框,点击提交之后 

它的值就会提交到后台服务器上的 test。jsp。那么在 jsp 里,咱们如何得到用 

户输入的 username 呢?  



Hello   



呼呼,原来就这么简单,前面的 Hello 是一成不变的,后面紧接包含的 java 

代码。  



只要是中间的部分就会被当成 java 代码执行,咱们就来看看 jsp 里是通过 

什么途径获得请求中的参数吧。  



首先是 request,翻译过来就是请求,它被称作 jsp 九大默认对象之一,与 http 

请求相关的操作都是通过 request 实现的,你完全可以把它看作是浏览器发送过 

来的 http 请求。  



请求里就包含了我们需要获得的参数,你想要知道 username 的值吗?好的,只 

要调用 getParameter(〃username〃)就可以获得了,你交给 request 一个参数名, 

它会返回对应的参数值,因为 http 协议的限制,获得的参
返回目录 上一页 下一页 回到顶部 0 0
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!