zoukankan      html  css  js  c++  java
  • Servlet入门(一),超级详细!!!看完就会!!!!

    一.软件结构发展史

     

    二.相关概念

    1.B/S模式执行流程

    用户输入网址,浏览器会通过DNS将网址转换成对应的IP地址,通过IP地址向服务器主机(可以理解为一个安装了web服务器程序的高配置电脑)发出请求,

    服务器主机收到请求后,会通过服务器程序将内容转换成相应的HTML文档,再将结果返回给浏览器(即响应),浏览器再对结果进行解析,最终呈现出了我们在浏览器上看到的页面.

     -从浏览器发出送给服务器的数据包称为"请求(Request)"

    -从服务器返回给浏览器的结果称为"响应(Response)"

    2.J2EE是什么?

    J2EE(Java 2 Platform Enterprise)是指"Java 2 企业版".

    B/S模式开发Web应用就是J2EE最核心的功能.

    J2EE由13个模块组成:

    3.Apache Tomcat是什么?

     

    Tomcat是Apache软件基金会旗下一款免费的开放源代码的Web应用服务器程序.

    Tomcat是运行Servlet(服务器小程序)的容器.

    4 Servlet是什么?

    Servlet(Server Applet)服务器小程序,主要功能用于生产动态Web内容.

    Servlet是J2EE最重要的组成部分!

    5.Tomcat和Servlet的关系

    Apache Tomcat就相当于我们的web服务器程序,Servlet就相当于用于生成动态Web内容的服务器程序.

    我们在主机上安装了web服务器程序(Tomcat),就可以运行服务器程序(Servlet),从而生成动态Web内容返回给浏览器.

    三.相关环境的安装与配置

    1.安装Tomcat

    需要先安装JDK并配置环境变量,目前安装的是JDK8的版本.

    Tomcat的安装版本最好与JDK是一致的,因此这次我们安装Tomcat8的版本.

    实际上最好是去官方的渠道下载,但是可能是我这里网络的问题,一直进不去官网,只好在其他渠道下载了安装包,后面会贴上地址.安装包有两种:解压版和安装版,这里使用的是安装版.

    官网下载方式:

    Tomcat官网地址: https://tomcat.apache.org/

    这里还是借用一下其他人的图.

     

    我下载好的安装包(8.5.31版本):

    链接:https://pan.baidu.com/s/1ILIDAhB0bRXRjcOAXFR9Vw 提取码:z0m4 

    安装方式:

    我自己安装的时候忘记截图,在此附上其他人的图,不用在意版本的细节,过程都是一样的.

    Step1.下载完成后开始安装,第一次安装的用户建议直接点击“next”不选择插件

    Step2.可以自行设置账户名以及密码

    Step3.设置jdk安装目录,每个人的路径都不一样,建议根据自己的电脑查找

    Step4.选择安装目录,点击install安装

    Step5.安装好后,开始菜单找到图中的目录,点击红色圈圈中的图标.

    点击后,会弹出一个框,启动栏上也会有一个小标志,点击图中的start,启动Tomcat

    启动后,可以看到对应的Service Status变成了Started,同时启动栏中的小图标中间也有红色的小方块变成了绿色的小三角.

    这时,我们打开浏览器,输入地址localhost:8080并回车

    当你看到了这个页面,就代表Tomcat启动成功啦~~

    配置环境变量:

    如果你下载的是解压版本的,或者使用安装包后没有成功启动Tomcat,可能还需要配置一下环境变量,这里附上配置环境变量的方式.

    右击我的电脑—属性—高级系统设置—环境变量,

    Step1.在系统变量中添加以下变量

    (1)TOMCAT_HOME,该变量指向解压文件的路径,该目录下有lib、bin等文件夹。添加方法如下:

    点击环境变量下的“新建”,在“变量名”中填写“TOMCAT_HOME”,在“变量值”中填写解压文件的路径,

    D:Tomcatapache-tomcat-8.0-windows-x64apache-tomcat-8.0(后面没有分号)然后点击“确定”,如图

    Apache Tomcat 8

    (2)CATALINA_HOME,该变量的值与TOMCAT_HOME相同,设置方法同(1),如图

    Apache Tomcat 8

    (3)在“系统变量”中找到Path变量,双击打开Path变量,在“变量值”的最后面添加%CATALINA_HOME%in(后面没有分号),如图

    Apache Tomcat 8

    (4)在“系统变量”中找到CLASSPath变量,双击打开CLASSPath变量,在“变量值”的最后面添加

    %CATALINA_HOME%libservlet-api.jar(后面没有分号),如图

    Apache Tomcat 8

    Step2. 单击“开始”—“运行”,键入"cmd",在控制台输入service install Tomcat8

    Apache Tomcat 8

    出现以上内容便表示安装成功!

    2.安装 Eclipse For J2EE

    Eclipse为J2EE提供了专用版本

    Eclipse J2EE最新版本为SimRel(齐美尔)

    下载

    进入Eclipse官网: www.eclipse.org

    点击Download

    这时黄色的Download按钮,是下载eclipse安装器的,但是由于这种方式是通过外国的网站下载,速度较慢 ,这里我们直接点击Download Packages即可.

    在出现的列表中,选择图中版本,并根据系统来选择对应的安装包 ,并点击

    在这个页面中,点击黄色的Download按钮

    选择要下载到的目录,即可下载安装包. 

    安装

    将下载好的安装包解压,并将里面的eclipse文件夹放到你想要安装eclipse的目录中,但注意目录中尽量不要用中文以及特殊字符.这里我放到了D盘根目录中

    如果之前安装过eclipse的其他版本(比如SE版本)也没有关系,只要不把他们都放到一个目录中就行.

    这时我们看到eclipse文件夹中有图中这些文件. 

     我们双击eclipse.exe就可以打开eclipse了

    跟eclipse SE版本一样,需要先指定一个存储工程的工程路径.选择好后点击Launch

    可以看到J2EE版本的eclipse跟我们之前使用的SE版本是很相似的,只是在其基础之上扩展了一些功能

     配置

    Step1.绑定默认的JDK

    选择Window→Preferences

     

    点击add后在弹出的框中选择第三项

     点击Directory选择jdk的安装目录,点击finish,将新的jdk前面的框框勾选上,点击Apply and Close即可.

    Step2.在eclipse上配置Tomcat

    之前我们每次都要独立的运行Tomcat,如果能把Tomcat整合到eclipse上,对于我们的开发来说就方便多了.

     点击图中选项.(如果没有的话,点击Other,在新弹出的框中,可以在Server目录中找到Servers).这时下方就会自动出现一个Servers标签.

     

     点击蓝色的超链接,在弹出的页面中选择Apache厂商,再选中对应的Tomcat版本

    点击next,在新弹出的页面中,点击Browser选择Tomcat的安装路径以及刚刚配置好的jdk

    点击next

    当前页面是用来进行程序发布的,因为目前我们没有写任何的项目,现在这里都是空的,不用管它,直接点击Finish即可.

    此时Servers面板显示如下

    双击这一条,在弹出的页面中第二部分修改为第二项,它的含义是默认的将我们以后开发的web应用程序发布到Tomcat所安装的目录下.(第一项的含义是默认发布到eclipse部署的环境中,不太推荐使用.)

    同时,将部署路径更改为Tomcat安装目录下的webapps目录.以后我们开发的web应用程序将都发布到这个目录中.

    这两个配置好后,关掉这个页面,提示是否保存,选择save

    此时,Tomcat就配置完成,Servers面板显示如下

    那么如何验证是否配置成功了呢?

    选中上图中的那一条,可以看到面板右侧有一些按钮

    在开发中我们一般使用小虫子按钮来调试程序,现在我们点击它~

    此时控制台中会不断输出许多内容,当输出结束时,最后一句如下图所示,表示Tomcat和eclipse整合成功了.(根据程序和电脑配置等的不同,这里的时间也是不同的)

    Servers面板显示如下

    同时工程栏多了自动生成的一个Server工程

    这时我们在浏览器中输入地址 localhost:8080

    熟悉的页面又显示出来了~~至此Tomcat和eclipse的整合成功(^-^)V

    四.Servlet入门

    1.第一个Servlet

    现在我们来创建第一个web应用程序吧!

    在左侧工程栏空白处点击鼠标右键,依次选择图中选项.这一项就是我们javaweb标准工程的创建.

    在新弹出的页面中写好工程名称,其他的Tomcat版本,Servlet版本默认就好,一般都使用最新版本,之后点击next

    点击next后新弹出的页面是让我们选择工程构建的路径,使用默认的即可,继续点击next 

    点击next之后,进入下一个页面.勾选项的意思是帮我们生成web应用配置描述文件(即 web.xml),必须要选中.

    配置完毕后,可以看到工程面板中,多了一个FirstServlet工程.

    我们先不纠结每个目录的含义 ,首先在src中新建一个标准的java类

    写好包名和类名后,点击finish.

    这时一个标准的Java类就创建好了

    与标准的java类不同的是,Servlet需要继承HttpPServlet类 ,并导入HttpServlet包.

    HttpServlet是我们写的所有web应用小程序的父类.必须继承它,我们才可以开发自己的小程序.

    接着,我们需要在类中重写 HttpServlet类中的service方法

    快捷方式:点击Source-Override/Implement Methods......

    在新页面中选择倒数第二项,点击ok

    这时eclipse就自动帮我们生成了重写的service方法

    方法中第一个参数是请求,第二个参数是响应,我们可以改一下对应的参数名,便于理解

    request包含了从浏览器向服务器发送请求的数据

    response包含了从服务器生成要发送回浏览器的信息.

    我们将方法体中默认书写的内容删掉,自己编写里面的内容.

    这时虽然我们把FirstServlet这个类写完了,但是Tomcat还不认识它.

    我们还需要在web.xml(web应用配置描述文件)中进行一下配置.

    在网上搜到了一篇关于web.xml的文章,可以详细了解一下:https://www.cnblogs.com/linhuaming/p/9464356.html

    双击这个文件,进入页面后,选择source这个标签,在这里写配置文件

    红色框框里是我们需要编写的部分

    下面我们来运行一下 

    在Servers面板的Tomcat上点击鼠标右键→ Add and Remove

    点击add将我们的FirstServlet类添加到右边,意思是将我们的程序发布到Tomcat上.

    然后点击Finish.如果发布成功,Tomcat里面就会出现FirstServlet选项.

    接着,还是选中Tomcat这一栏,点击面板右上方的小虫子启动Tomcat.

    可以在控制台看到,我们已经启动成功了.

    下面我们来访问一下我们这个Servlet. 

    访问网址为: localhost:8080/FirstServlet/hi?name=superj 

    红色部分是主机地址+端口号

      localhost指的是我们本机电脑的地址,也可以用127.0.0.1代替。

      8080指的是Tomcat默认的端口号。

    蓝色部分是工程名

    绿色部分是我们定义的url-pattern

    橙色部分是传入的参数,固定以问号开头,等号左边是参数名,等号右边是参数的值.

    回车,可以看到,我们编写的内容显示出来了.

    再来总结一下,我们的Tomcat和浏览器直接在这个过程中具体是怎么互动的.

    首先,我们在浏览器地址栏中输入 localhost:8080/FirstServlet/hi?name=superj 以后,

    这个信息会通过请求request发送给Tomcat.

    Tomcat收到这个请求后,发现我们发送的url是/hi,于是就从web.xml文件中去查找是否有url-pattern为/hi的Servlet-mapping.

    找到了之后,发现这个Servlet的别名是first,于是再查找是否有别名是first的Servlet.

    查找到后得到这个Servlet的servlet-class,com.superjishere.servlet.FirstServlet.

    紧接着Tomcat会创建FirstServlet的对象,并执行其中的service方法,为Servlet提供响应和支持.

    这里我们通过out.println将html的内容输出

    其中name作为参数被接收,它的值就对应了superj ,当输出了out.println中的html字符串后,

    Tomcat会将这个字符串通过响应response,原封不动的发送给浏览器,

    浏览器中接收到的字符串就是服务器执行之后的结果,浏览器将这个结果进行解析,展现在页面上,

    于是我们就在网页上看到了内容!

     ============================================================================================

    练习的时候发现一个问题:当在定义的html字符串中,使用span标签的时候,浏览器不能识别,会把整个html标签内容显示出来.

    如果换成p标签就可以正常显示.前面是p标签后面是span标签也可以正常显示,但是单独的span或者多个span就不正常显示.

    等找到原因后再来补充.

    找到原因了:

    在使用一些标签的时候,可能不同的浏览器对标签的敏感度不同,我在使用谷歌浏览器的时候就不能识别单独的span,

    但是如果书写一个完整结构的html代码,浏览器就能够成功解析了.

     

    下一篇的内容见:

    Servlet入门(二),超级详细!!!看完就会!!!! 

  • 相关阅读:
    String字符串性能优化的探究
    Spring笔记(5)
    Spring笔记(4)
    力扣217. 存在重复元素
    力扣1480. 一维数组的动态和
    Ribbon 和 Feign 的区别
    Eureka的自我保护机制
    Planar graph and map 3-colorability reduce to one another
    3-colorability
    一少年独坐屋中突然顿悟!-回溯
  • 原文地址:https://www.cnblogs.com/superjishere/p/12522953.html
Copyright © 2011-2022 走看看