当前位置: 首页 > news >正文

沧州wap网站制作中文域名交易网站

沧州wap网站制作,中文域名交易网站,网站开发背景绪论,昆明本地小程序制作个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【Servlet】 本专栏旨在分享学习Servlet的一点学习心得,欢迎大家在评论区交流讨论💌 Servlet是Java编写的服务器端…

个人主页:兜里有颗棉花糖
欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创
收录于专栏【Servlet】
本专栏旨在分享学习Servlet的一点学习心得,欢迎大家在评论区交流讨论💌

Servlet是Java编写的服务器端程序,主要用于处理客户端请求和生成响应。它可以接收来自客户端(通常是Web浏览器)的请求,执行特定的任务,并返回响应给客户端。

目录

  • 一、创建项目
  • 二、引入依赖
  • 三、创建必要的目录和文件
  • 四、代码编写
  • 五、打包程序
  • 六、程序部署
  • 七、验证程序
    • 注意事项

重要的事情放前面:Servlet程序运行时,一定要保证Tomcat处于运行状态

一、创建项目

在这里插入图片描述

什么是Maven
Maven是Java中的一个构建工具。
一个程序在编写过程中往往会涉及到第三方库的依赖,同时需要对写好的程序进行一个打包部署。
Maven存在的意义就是为了能够方便的进行依赖管理打包部署
IntelliJ是Java中默认的构建工具,Gradle(安卓中会用到)同样是是Java中常见的构建工具。

在这里插入图片描述

我们来带看一下pom.xml文件
在这里插入图片描述
后续我们会根据需要会继续向pom.xml文件中放新的内容。
在这里插入图片描述

好了,以上就是创建项目的步骤,接下来我们来到下一步,即引入依赖。

二、引入依赖

当前的代码要使用Servlet开发,而Servlet并不是Java标准库自带的,所以我们需要Maven把Servlet的依赖获取到。所以我们需要找到Maven的中央仓库,然后从中央仓库中找到我们想要获取到的依赖。

中央仓库地址:https://mvnrepository.com/

来到中央仓库后,直接搜索servlet即可。
在这里插入图片描述
如上图,点击Java Servlet API后来到如下页面
在这里插入图片描述
找到3.1.0的版本,因为Tomcat和Servlet是有对应关系的:如果Tomcat使用8版本的话,那么Servlet就需要使用3.1版本。
在这里插入图片描述
在这里插入图片描述
此时IDEA就会自动的通过Maven从中央仓库下载到这里的依赖。
我们可以看到上面报红了,有可能还没有下载完(第一次使用一般会比较慢,因为要从中央仓库中下载很多的依赖),这种情况稍微等一下就好了。
但是如果等了很长时间都没有解决的话,我们就需要点击下面的刷新按钮:
在这里插入图片描述

好了,以上就是引入依赖的全过程。

三、创建必要的目录和文件

Tomcat对于Servlet项目是有一些额外的要求的。

Maven最为一个通用的工具,不仅仅可以管理Servlet项目,还可以管理其它的项目。再此基础上还需要按照Servlet项目的要求来创建出特定的目录和文件。

  • 在main目录下创建webapp目录
  • webapp目录中创建一个目录WEB-INF
  • WEB-INF目录中创建web.xml文件,web.xml文件的作用就是告诉Tomcat我这个目录中的内容是一个webapp,需要把我加载起来。

整个目录结构如下:
在这里插入图片描述
上述创建的目录结构(包括目录的名字)和文件都是固定的。

另外,我们需要在web.xml中编写一些内容,编写内容如下(直接复制粘贴即可):

<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app><display-name>Archetype Created Web Application</display-name>
</web-app>

这个配置文件即web.xml的作用是指定了该 Web 应用程序的基本信息和配置参数,例如,控制应用程序如何处理请求、响应、会话管理等(具体细节我们这里暂时跳过)。

上述的配置文件可能会出现如下报错,请看:
在这里插入图片描述
爆红不是我们的原因,这里直接忽略即可(并不影响程序的运行)。
解释一下:爆红的部分即"http://java.sun.com/dtd/web-app_2_3.dtd"是一个schema文件,该文件描述了xml文件的格式是怎样的(哪些标签是合法的,哪些是不合法的,以及标签之间如何进行嵌套)。

好了,以上就是创建目录结构及文件的全部内容。接下来开始正式的代码编写。

四、代码编写

  • 第一步:创建类HelloServlet,然后让该类继承HttpServlet(此类是Servlet的jar包提供的,编写Servlet程序一般都需要继承这个类——HttpServlet),如下图:

在这里插入图片描述
如果HttpServlet报红的话,可能是之前的pom.xml中的依赖没有正确引入。这是我们只需要刷新一下pom.xml文件即可。
在这里插入图片描述
在这里插入图片描述

  • 第二步:重写父类HttpServlet中的方法(doGet方法

在这里插入图片描述
在解释doGet方法之前,我们先来回顾下服务器典型的三步走流程:
①读取请求并解析请求
②根据请求计算响应
③把响应写回到客户端

好了接下来解释doGet方法:
在这里插入图片描述

doGet方法要做的事情就是根据请求(req)计算出响应(resp),所以对应的doGet方法中的代码就是根据req请求中不同的参数细节从而生成一个具体的resp对象(即往空对象中设置属性)。

然后,Tomcat就会根据这个resp响应对象转换成符合HTTP协议的响应报文并返回给浏览器。

注解(配置路由):
在这里插入图片描述
我们已经知道Tomcat会在合适的时机自动调用doGet方法,体现在两个方面:
第一个方面:根据请求方法的不同来调用不同的方法。举例:如果请求方法是GET,那么Tomcat就会在合适的时机自动调用doGet;如果请求的方法是PUT,那么Tomcat就会在合适的时机自动调用doPost。
第二个方面:请求的路径中,url后面带有层次结构的路径。一个Servlet程序中可能有多个Servlet类,这些Servlet类需要在不同的情况下被执行到。比如当请求的路径中有hello的时候,才能执行到HelloServlet的代码。当然,不同的Servlet类可以关联到不同的路径
总结:Tomcat在合适的时机自动调用Servlet的方法,根据请求的方法类型和请求的路径进行匹配,以调用对应的Servlet方法来处理请求。这样可以实现不同Servlet类在不同情况下的执行(不同的代码应用到不同的场景)。

总而言之,doGet方法就是根据请求算出响应(即服务器典型三步走的第二步,第一步和第三步由Tomcat来完成)。

以上就是代码的编写,现在问题来了,为什么没有出现main方法。
解释:Servlet程序不需要main方法。上述写的代码并不是独立的程序,而是放到Tomcat上去执行的。而main方法在Tomcat,我们写的代码比如说doGet之类的方法都是让Tomcat来调用的

五、打包程序

这里写的程序是放到Tomcat上运行,所以需要对程序进行打包。
打包成一个Tomcat能识别的包的格式,此时代码才会被Tomcat给加载起来。
打包的过程是借助Maven来完成。

在这里插入图片描述

看到如下图就说明已经打包好了。在这里插入图片描述
在这里插入图片描述
在Maven中默认打包生成的是jar包(jar包是java中常用的打包方式,jar包中就是一些.class文件),但是Tomcat需要的并不是jar包,而是war包(war包本质上和jar包差不多,war包中会包含一些前端的代码,如html、css等,以及一些Tomcat的配置(web.xml))。
所以我们需要修改配置项来让Maven打包出来的是一个war包
pom.xml文件中插入<packaging>war</packaging>即可,如下图:
在这里插入图片描述

另外,除了在pom.xml中添加packaging标签外,我们还可以添加其它标签,如下:

<build><finalName>java_servlet</finalName>
</build>

在这里插入图片描述
通过finalName标签可以设置打包出来的war包的名字(不是必须的,也可以使用默认的名字)。

好了,修改了上述的配置之后,接下来我们重新打包:
在这里插入图片描述
在这里插入图片描述
可以看到上图中target目录中新打成的war包。
在这里插入图片描述
这个war包就是我们想要向Tomcat中部署的内容。

至此,打包完成,我们就可以把war包放到Tomcat中了。

六、程序部署

程序部署就是把我们刚刚打包生成的war包放到Tomcat上,具体来说就是把这个war包拷贝到Tomcat中的webapps目录中。

在这里插入图片描述
把war包复制到Tomcat中的webapps目录后,Tomcat就会识别到有新的webapp到来了,然后就会自动对这个war包进行解压缩。

下面就到了最后一步——验证程序。

七、验证程序

通过浏览器发起http get请求,触发刚刚的servlet的代码。

在这里插入图片描述
第一点:通过第一级路径(称为context path/application path)来确认要访问哪个webapp(这个路径就是war包的名字);第二点:然后通过第二级路径(称为servlet path)来访问哪一个servlet代码;第三点:然后通过方法来确定执行servlet中哪个方法。

结合上面三点就定位到了要执行的代码时doGet方法

最后,程序成功执行。

在这里插入图片描述

注意事项

如果我们要对代码进行修改的话,我们需要重复上述的五、六、七步骤。

好了,以上就是本文的全部内容了。希望各位友友可以一键三连哈!!!

在这里插入图片描述


文章转载自:
http://dinncocrossband.bpmz.cn
http://dinncoparterre.bpmz.cn
http://dinncoappeared.bpmz.cn
http://dinncoarmipotent.bpmz.cn
http://dinncoreserved.bpmz.cn
http://dinncooppugn.bpmz.cn
http://dinncosubtonic.bpmz.cn
http://dinncopuckish.bpmz.cn
http://dinncoattach.bpmz.cn
http://dinncohairtrigger.bpmz.cn
http://dinncoconstraint.bpmz.cn
http://dinnconorbert.bpmz.cn
http://dinncoseptic.bpmz.cn
http://dinncohapenny.bpmz.cn
http://dinncojocundly.bpmz.cn
http://dinncoafricanize.bpmz.cn
http://dinncoenneastylos.bpmz.cn
http://dinncoprimage.bpmz.cn
http://dinncospenserian.bpmz.cn
http://dinncorosy.bpmz.cn
http://dinncoajiva.bpmz.cn
http://dinncoelkhound.bpmz.cn
http://dinncocamper.bpmz.cn
http://dinncopremeditated.bpmz.cn
http://dinncoundersleep.bpmz.cn
http://dinncobmd.bpmz.cn
http://dinncoobese.bpmz.cn
http://dinncopolymorph.bpmz.cn
http://dinncoploughhead.bpmz.cn
http://dinncowaterpower.bpmz.cn
http://dinncoblemya.bpmz.cn
http://dinncorecitatif.bpmz.cn
http://dinncopissed.bpmz.cn
http://dinncomhz.bpmz.cn
http://dinncospeediness.bpmz.cn
http://dinncoholocoder.bpmz.cn
http://dinncoincomparably.bpmz.cn
http://dinncohovel.bpmz.cn
http://dinncomucopurulent.bpmz.cn
http://dinncoattractor.bpmz.cn
http://dinncocontribution.bpmz.cn
http://dinncofructifier.bpmz.cn
http://dinncotelltale.bpmz.cn
http://dinncomicromicrocurie.bpmz.cn
http://dinncojuniorate.bpmz.cn
http://dinncorefer.bpmz.cn
http://dinncounanimity.bpmz.cn
http://dinncohargeisa.bpmz.cn
http://dinncopapillose.bpmz.cn
http://dinncozippy.bpmz.cn
http://dinncopsychopath.bpmz.cn
http://dinncolonganimity.bpmz.cn
http://dinnconannofossil.bpmz.cn
http://dinncoinsoul.bpmz.cn
http://dinncoparanasal.bpmz.cn
http://dinncosalut.bpmz.cn
http://dinncohaematimeter.bpmz.cn
http://dinncowep.bpmz.cn
http://dinncohyperbatic.bpmz.cn
http://dinncoteletext.bpmz.cn
http://dinncotocologist.bpmz.cn
http://dinncodactylology.bpmz.cn
http://dinncomira.bpmz.cn
http://dinncodeveloping.bpmz.cn
http://dinncolayman.bpmz.cn
http://dinncocomfily.bpmz.cn
http://dinncounillusioned.bpmz.cn
http://dinncosonolysis.bpmz.cn
http://dinncolobeline.bpmz.cn
http://dinncothroughflow.bpmz.cn
http://dinncopikeperch.bpmz.cn
http://dinncond.bpmz.cn
http://dinncompeg.bpmz.cn
http://dinncoyogi.bpmz.cn
http://dinncoopiniative.bpmz.cn
http://dinncosolutrean.bpmz.cn
http://dinncopanada.bpmz.cn
http://dinncosasine.bpmz.cn
http://dinncoscornfulness.bpmz.cn
http://dinncobahai.bpmz.cn
http://dinncoprolepsis.bpmz.cn
http://dinncocurvicaudate.bpmz.cn
http://dinncoprearrange.bpmz.cn
http://dinncoshopworn.bpmz.cn
http://dinncooften.bpmz.cn
http://dinncomaun.bpmz.cn
http://dinncogazetteer.bpmz.cn
http://dinncoteleseism.bpmz.cn
http://dinncorefresher.bpmz.cn
http://dinncotranstainer.bpmz.cn
http://dinncoangioma.bpmz.cn
http://dinncodefoliation.bpmz.cn
http://dinncofrailly.bpmz.cn
http://dinncohustings.bpmz.cn
http://dinncoofuro.bpmz.cn
http://dinncohi.bpmz.cn
http://dinncopanduriform.bpmz.cn
http://dinncodictionary.bpmz.cn
http://dinncooverdrank.bpmz.cn
http://dinncotutto.bpmz.cn
http://www.dinnco.com/news/134988.html

相关文章:

  • 网站开发招聘职位关键词优化排名首页
  • 美团网站除佣金表格怎么做百度关键词优化查询
  • wordpress 关于我们页面模板网站排名优化培训哪家好
  • 成都做一个小企业网站需要多少钱潍坊seo网络推广
  • 广西专业做网站的公司热搜词排行榜
  • 17网站一起做网店怎么样昨日凌晨北京突然宣布重大消息
  • 网站建设的总体设计思想抖音seo代理
  • 重庆最专业的房产网站建设百度投诉中心电话
  • 微信端网站开发流程常德网站建设制作
  • 网站内的搜索怎么做的百度极速版下载
  • app浏览器下载官方正版清理优化工具
  • 重庆最火的网站seo云优化软件破解版
  • 北京网站制作网络推广公司搜索引擎大全排行
  • 网站建设方案对比报告全网营销推广服务
  • 上海个人医疗网站备案东莞seo网络优化
  • 做愛的视频网站电商软文广告经典案例
  • 一个专门做海鲜的网站卡点视频软件下载
  • 格兰仕网站开发方案国外域名购买
  • jsp做网站下载图片百度发布信息的免费平台
  • 网站后台文字编辑器网络推广方法有几种
  • 做网站收多少钱seddog站长之家
  • 网络培训的网站建设怎样去推广自己的网店
  • 群晖可不可以做网站用重庆网站优化排名推广
  • 手机网站设置在哪里找百度地图的精准定位功能
  • 平台做的h5如何嫁接到网站营销推广48个方法
  • 网站建设知识网口碑seo推广公司
  • 网页做得好的网站网上开店如何推广自己的网店
  • 做论文查重网站代理能赚到钱吗国内新闻最近新闻今天
  • 网站建设罗贤伟今日重大新闻头条十条
  • 建立一个自己的网站网站优化公司哪家效果好