我是靠谱客的博主 妩媚海燕,最近开发中收集的这篇文章主要介绍Servlet学习一.前言及相关配置二.第一个Servlet程序三.Servlet的深入学习 三.概念辨析四.解决一些问题项目的模式,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一.前言及相关配置

前言

1.什么是servlet?

Servlet = service applet 服务器端小程序

CS架构

优点:充分利用客户端机器的资源,减轻服务器的负荷。 即一部分安全要求不高的计算任务存储任务放在客户端执行,不需要把所有的计算和存储都在服务器执行,从而减轻服务器压力。也能减轻网络负荷。

缺点:需要安装,升级维护成本较高。

BS架构

优点:客户端不需要安装,维护成本较低(不需要在服务器端更新)。

缺点:所有的计算和存储都是放在服务器端的,服务器负荷较重,在服务器计算完成之后,把结果再传输给客户端,因此客户端和服务器会进行很频繁的数据通信,从而网络负荷较重。

2.那什么是服务器?

服务端对应客户端或浏览器,有C/S架构,B/S架构,服务器是一种特殊的电脑,准确一点,服务器其实就是电脑主机。平时什么时候用到服务器呢?比如用手机下载APP,下载的过程就是从某个服务器获取APP的程序文件和数据的过程,打开APP便出现了内容,这些内容就是存储在服务器上的,当你想百度网盘保存视频时,这里服务器就体现了接收和存储数据的功能,当你想要观看视频时,可以选择不同的清晰度,体现了数据的处理数据的功能,服务器也是电脑,很多在个人电脑上能做的事情,在服务器上也能,服务器是某种特殊使用场景下特殊的电脑的专业称呼,个人电脑也可以作为服务器,但是较真正的服务器相比,个人电脑的性能,稳定性,带宽都跟不上,真正的服务器从硬件到操作系统和软件都更适合高强度的网络服务,大多数服务器都不佩戴显示器,服务器不是Windows和IOS,而是Linux,每一台能联网的设备都有一个IP地址,所以每个服务器也有一个IP地址。

在本地常用的服务器有Tomcat,Jboss,GlassFish,Resin,WebLogic。每个服务器都有端口号,Tomcat的端口号是8080。

Tomcat服务器就是WebContainer,用来盛放Web项目的容器,而Web项目就是一个个的文件夹,如果将一个项目放在这个项目中的过程叫做部署deploy,这个项目的名字就是context root。

3.Tomcat服务器的下载

 Step1:Tomcat的下载网址:Apache Tomcat® - Apache Tomcat 9 Software Downloads

Step2:下载ZIP文件

Step3:将ZIP文件解压到D盘下

Step4:在电脑的高级系统设置中设置环境变量

Tomcat是Java和c程序写的,就需要有Java虚拟机,所以需要告诉Tomcat当前JDK安装在了什么地方。

  

 Step5:打开bin目录下的startup.bat后,在网址中输入localhost:8080,打开此页面后边设置成功。

4.Tomcat服务器的介绍

Tomcat的目录介绍 

bin目录存放可执行文件。

conf存放配置文件。

lib中存放Tomcat运行时依赖的Java文件。

logs存放运行时的日志。

temp是临时文件夹。

webapps是部署的空间。

work是Tomcat的工作目录。

介绍Tomcat的简单运行机制

运行了Tomcat服务器后,就能在浏览器中访问服务器中webapps里面的文件了。

在webapps文件夹中创建一个文件夹,这个文件夹名字随便起,这个名字就是context root,再在这个文件夹中创建一个WEB-INF文件夹,那就部署好了一个web项目了。

想要在浏览器中访问时,就在端口号后面接上context root再接上具体的html文件。

http://localhost:8080/contextroot/index.html,浏览器根据这个url定位服务器的资源,首先根据localhost定位哪台主机,根据端口号定位这台主机的哪个服务器,根据contextroot定位服务器中已经部署的项目,根据index.html定位具体的资源。然后服务器再将这个资源响应给客户端。

部署就是将web文件夹放在webapps里面,后面可以利用IDEA,可以一键部署,启动服务器,打开网站。

二.第一个Servlet程序

0.在IDEA中使用Servlet的完整步骤

1.在IDEA中集成Tomcat

 Tomcat服务器是用来发布动态网页的,每次要访问网页是去目录下双击startup.bat会很麻烦,所以将Tomcat服务器配置到IDEA中,利用IDEA控制服务器。

Step1:setting->Build,Execution,Deployment->Application Servers->点击加号,添加Tomcat Server

2.创建一个普通项目

创建新project时,会自带一个模块。

 比如这里创建了一个untitled项目,这个项目会被默认为一个模块,带着一个src。

但我们这里把这个项目当作放模块的文件夹,所以这个src可以删除不用。

3.将该项目设为web项目 

方法1: 

Step1:右击该项目添加框架支持

Step2:点击OK

在这里插入图片描述

Step3:在Web-INF下,创建lib目录,用于存放与项目相关的jar包

这样动态Web工程目录就建好了

方法2:

新建立一个module。

File-Project Structure-Facets。

 点击应用后就相关的module就有了web文件夹。

部署包的问题

web项目需要部署到Tomcat里,在IDEA中部署时并不是将源代码部署进去,而是将部署包部署到Tomcat里面去,这个部署包成为Artifact。

 这个提示意思是,现在已经有了web项目,但这个web项目以后需要部署到Tomcat上去,但此时还没有部署包,现在是否需要创建一个部署包。所以点击Create Artifact创建部署包就OK了。

也可以不点击Create Artifact,通过下面操作完成创建部署包。

 Web Application:Archive是Web文件的压缩包即war包,jar包是Java应用程序的压缩包。

Web Application:Exploded是Web文件,不是压缩包。

如果将war包放进去,Tomcat会自动解压,所以也可以放一个未压缩的包,所以直接选Web Application:Exploded。

lib和Artifact的关系

lib是存放jar文件的包。

如果采用方法1创建web项目,会自动创建部署包,所以部署包会先生成。

如果要创建一个lib包,若这个lib包和这个web项目有关系,跟其他模块没关系,所以这个lib包可以直接放到web项目的WEB-INF目录下。

如果这个jar包和很多项目都有关系,就放在project下面,而不要放在module下面。

 将这个lib设定为一个库,然后在web项目中引用这个库,也就是在web项目下去依赖这个库。

 这时就出现了一个问题,因为部署包生成的比lib早,所以部署包里没有lib,这是需要将lib加入到部署包中。

 再重复一次

创建lib库时,可以创建到module中,但这时只能这个module独享,其他module不能用,所以可以创建到project下面,但要记得module中要添加依赖。但将lib放在module中的WEB-INF文件夹下的话,就不用将lib在添加到部署包了。

4.将该web项目部署到Tomcat上

 

 选择建好的Web项目。

下面的Application context就是前面的context root,用来定位Tomcat服务器中具体哪个web项目。

5.项目部署后的一些设置

IDEA中对Tomcat的一些设置

URL一栏表示当Tomcat服务器启动时,直接访问http://localhost:8080/MyJSP/这个网址,并且使用默认浏览器。 

On update action和On frame deactivation两个选项可以实现热部署,便于修改。

HTTP port是修改Tomcat的端口号,通过IDEA修改本质还是修改了Tomcat的config文件。

如何启动服务器

最好通过Debug方式打开,如果出现问题后,可以直接设置断点调试。 

几点不同

IDEA部署项目时,不是部署在Tomcat中的webapps中了,而是部署在另一个文件,当Tomcat启动时,告诉Tomcat去哪里找。

6.编写第一个Servlet程序

案例1:

 该案例是客户端访问一个带表单的HTML文件,输入表单内容后再提交,下面是图解过程。

Step1: 继承HttpServlet类。

由于HttpServlet类不在JDK中,而是在Tomcat中lib的jar包中。

第一种方法就是把这个jar导入。

第二种方法就是添加依赖。

Step2:重写doPost方法。

doPost

最后

以上就是妩媚海燕为你收集整理的Servlet学习一.前言及相关配置二.第一个Servlet程序三.Servlet的深入学习 三.概念辨析四.解决一些问题项目的模式的全部内容,希望文章能够帮你解决Servlet学习一.前言及相关配置二.第一个Servlet程序三.Servlet的深入学习 三.概念辨析四.解决一些问题项目的模式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部