应用办公生活信息教育商业
投稿投诉
商业财经
汽车智能
教育国际
房产环球
信息数码
热点科技
生活手机
晨报新闻
办公软件
科学动态
应用生物
体育时事

javaWeb之tomcat和servlet

  关注我,带你了解java
  老话说得好,要想学好javaWeb,必须先学会tomcat和servlet!
  大家好,我是冰冰,因工作原因最近一个月没更新作品,和大家说声抱歉!
  前段时间总结了MySQL的知识,接下来几天就总结一下javaWeb的知识!
  一、tomcat的介绍和安装
  1。tomcat介绍
  Tomcat是由Apache开发的一个Servlet容器,实现了对Servlet和JSP的支持,并提供了作为Web服务器的一些特有功能,Tomcat是一种类似于IIS、ApacheHttp的Web服务端程序,由于Tomcat本身也内含了一个HTTP服务器,它也可以被视作一个单独的Web服务器。也就是Web容器。
  由于Tomcat是由Java语言实现的,因此需要运行在Java虚拟机上,所以使用前要先安装JDK,以提供运行环境
  Tomcat实现了几个JavaEE规范,包括JavaServlet、JavaServerPages(JSP)、JavaExpressionLanguage和JavaWebSocket等。在下载好Tomcat后,可以在它的lib目录中看到相关的JavaEE规范API源码的引用
  Tomcat实现的几个JavaEE规范中,有一个很重要的规范Servlet,通过它我们可以运行自己编写的Servlet应用程序处理动态请求,即实现动态页面
  Tomcat的Connector组件实现了HTTP请求的解析,可以把Tomcat看作是一个HTTP服务器,Tomcat可以通过Connector组件接收HTTP请求并解析,然后把解析后的信息交给Servlet处理:
  (1)对于静态资源(htmlcssjs等)请求:Tomcat提供默认的Servlet来处理响应
  (2)对于动态请求:可以映射到自己编写的Servlet应用程序来处理
  2。tomcat下载和安装
  这里以Tomcat8为例,
  注意:由于Tomcat运行在Java虚拟机上,因此在安装Tomcat之前要先下载好JDK
  进入tomcat官网:https:tomcat。apache。org
  下载Tomcat8
  选择zip压缩包,下载后解压即可
  打开Tomcat文件夹,进入bin目录,双击startup。bat就可以运行Tomcat服务器
  注意:由于CMD默认的编码方式是GBK,而Tomcat的默认编码方式是UTF8,因此在双击startup。bat启动Tomcat时,CMD上显示的会是乱码。但该问题可以不处理,因为并不需要通过CMD来查看Tomcat的启动状况及其它情况,可以使用其它方式。
  这时我们打开浏览器,输入localhost:8080可打开tomcat官网,说明tomcat配置成功。
  二、servlet介绍
  1。servlet是什么
  说完tomcat,就不得不说servlet,因为JavaServlet是运行在Web服务器或应用服务器上的程序,它是作为来自Web浏览器或其他HTTP客户端的请求和HTTP服务器上的数据库或应用程序之间的中间层。
  Servlet可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。
  JavaServlet通常情况下与使用CGI(公共网关接口)实现的程序可以达到异曲同工的效果。但是相比于CGI,Servlet有以下几点优势:
  1。性能明显更好。
  2。Servlet在Web服务器的地址空间内执行。这样它就没有必要再创建一个单独的进程来处理每个客户端请求。
  3。Servlet是独立于平台的,因为它们是用Java编写的。
  4。服务器上的Java安全管理器执行了一系列限制,以保护服务器计算机上的资源。因此,Servlet是可信的。
  5。Java类库的全部功能对Servlet来说都是可用的。它可以通过sockets和RMI机制与applets、数据库或其他软件进行交互。
  2。servlet是做什么的?
  读取客户端(浏览器)发送的显式的数据。这包括网页上的HTML表单,或者也可以是来自applet或自定义的HTTP客户端程序的表单。
  读取客户端(浏览器)发送的隐式的HTTP请求数据。这包括cookies、媒体类型和浏览器能理解的压缩格式等等。
  处理数据并生成结果。这个过程可能需要访问数据库,调用Web服务。
  发送显式的数据到客户端(浏览器)。该文档的格式可以是多种多样的,包括文本文件(HTML或XML)、二进制文件(GIF图像)、Excel等。
  发送隐式的HTTP响应到客户端(浏览器)。这包括告诉浏览器或其他客户端被返回的文档类型(例如HTML),设置cookies和缓存参数,以及其他类似的任务。
  3。servlet的生命周期
  Servlet生命周期可被定义为从创建直到毁灭的整个过程。以下是Servlet遵循的过程:
  Servlet初始化后调用init()方法。
  Servlet调用service()方法来处理客户端的请求。
  Servlet销毁前调用destroy()方法。
  Servlet是由JVM的垃圾回收器进行垃圾回收的。
  4。核心接口和类
  4。1Servlet的接口:javax。servlet。Servlet
  4。2GenericServlet
  是一个抽象类,该类为Servlet接口提供了部分实现,它并没有实现HTTP请求处理。
  4。3HttpServlet
  是GenericServlet的子类,它继承了GenericServlet的所有方法,并且为HTTP请求中的POST、GET等类型提供了具体的操作方法。
  通常情况下,编写的Servlet类都继承自HttpServlet,在开发中使用的具体的Servlet对象就是HttpServlet对象。HttpServlet的常用方法及其说明如下表所示。
  4。4ServletContext接口
  Servlet容器启动时,会为每个Web应用(webapps下的每个目录都是一个Web应用)创建一个唯一的ServletContext对象,该对象一般被称为Servlet上下文。ServletContext对象的生命周期从Servlet容器启动时开始,到容器关闭或应用被卸载时结束。Web应用中的所有Servlet共享同一个ServletContext对象,不同Servlet之间可以通过ServletContext对象实现数据通讯,因此ServletContext对象也被称为Context域对象
  ServletContext的官方文档介绍:
  定义servlet用来与其servlet容器通信的一组方法,例如,获取文件的MIME类型、分派请求或写入日志文件。
  每个Java虚拟机的每个web应用程序都有一个上下文。(web应用程序是一个servlet和内容的集合,安装在服务器URL命名空间的特定子集下,如catalog,可能通过。war文件安装。)
  在web应用程序的部署描述符中标记为分布式的情况下,每个虚拟机都有一个上下文实例。在这种情况下,上下文不能用作共享全局信息的位置(因为信息不是真正的全局的)。需要使用外部资源用作共享全局信息的载体,如数据库。
  ServletContext对象包含在ServletConfig对象中,当servlet初始化时,Web服务器将向该对象(ServletConfig)提供可用的servlet。
  获得ServletContext对象4种方式
  (1)通过GenericServlet提供的getServletContext()方法
  ServletContextservletContextthis。getServletContext();
  (2)通过ServletConfig提供的getServletContext()方法
  ServletContextservletContextthis。getServletConfig()。getServletContext();
  (3)通过HttpSession提供的getServletContext()方法
  ServletContextservletContextreq。getSession()。getServletContext();
  (4)通过HttpServletRequest提供的getServletContext()方法
  ServletContextservletContextreq。getServletContext();
  4。5HttpServletRequest接口和HttpServletResponse接口
  HttpServletRequest请求转发
  一种在服务器内部的资源跳转方式。即访问某个资源后跳转到下一个资源继续访问。
  使用请求转发
  req。getRequestDispatcher(下一个资源路径)。forward(req,resp);
  转发特点:
  1、浏览器地址栏路径不发生变化
  2、只能转发到当前服务器内部资源中。
  3、转发是一次请求。浏览器请求一次,访问多个资源。
  HttpServletRequest接口最常用的方法就是获得请求中的参数,这些参数一般是客户端表单中的数据。同时,HttpServletRequest接口可以获取由客户端传送的名称,也可以获取产生请求并且接收请求的服务器端主机名及IP地址,还可以获取客户端正在使用的通信协议等信息。下表是接口HttpServletRequest的常用方法。
  HttpServletResponse重定向
  重定向(Redirect)也是一种资源跳转的方式。就是通过各种方法将各种网络请求重新定个方向转到其它位置(如:网页重定向、域名的重定向、路由选择的变化也是对数据报文经由路径的一种重定向)。
  重定向(redirect)告诉浏览器的信息:
  1、告诉浏览器重定向:状态码302
  2、告诉浏览器B资源的路径:响应头location:其他资源的路径
  代码:
  第一种代码实现
  1。设置状态码为302
  response。setStatus(302);
  2。设置响应头location,响应头location的值为day15responseDemo2response。setHeader(location,day15responseDemo2);
  第二种简单上述代码实现
  简单的重定向方法response。sendRedirect(day15responseDemo2);
  重定向的特点:
  1、地址栏发生变化。
  2、重定向可以访问其他站点(服务器)的资源。
  3、重定向是两次请求。不能使用request对象来共享数据。
  在Servlet中,当服务器响应客户端的一个请求时,就要用到HttpServletResponse接口。设置响应的类型可以使用setContentType()方法。发送字符数据,可以使用getWriter()返回一个对象。下表是接口HttpServletResponse的常用方法。
  星辰大海,永不止步
  END

李小璐带甜馨出游,扎脏辫太抢眼,贾乃亮疑似掌镜?一家媒体在社交平台上报道,称李小璐一家出去动物园玩,母女二人造型简单清爽、甜馨也长高了不少,随后引起网友关注。李小璐穿着黑色短袖,配上咖色的短裤,一头小脏辫很引人注目。甜……原神冷知识少女暗恋迪卢克骑士喜欢菲谢尔,迪奥娜的身份成迷原神之所以越来越火,很大的一个原因就是剧情非常精彩。可是你知道吗,即使是游戏里的NPC,也隐藏着很多有趣的事情呢。比如迪卢克老爷是很多少女的梦中情人,不少男孩子则暗恋菲谢……全新铃木EVX概念车搭载纯电动系统造型帅气全新铃木EVX在新德里车展上亮相,新车是概念车,采用了全新的设计,在风格上显得非常机甲,不过新车应该不会被引入,采用了纯电动的动力。长宽高分别为430018001600m……由人体细胞制成的防弹背科学家制造了一种阻止超音速弹丸的凝胶由人体细胞制成的防弹背心:科学家制造了一种阻止超音速弹丸的凝胶记者:阿丽娜马奈拉由人类蛋白质制成的凝胶能否创造出下一代防弹背心?科学家们创造了一种能够阻止超音速物体……GitHub昙花一现!SpringBoot趣味实战课神作开源阿鑫又来给大家分享好书了:刘水镜老师的《SpringBoot趣味实战课》,网上依旧是没有开源版本!小编会在文末附电子版免费下载方式。刘水镜是谁?十余年持续技术文章输出,C……社交一哥狼人杀如今为何沦为桌游赠品1月5日,近期爆火的PC端游戏狼人杀类游戏《鹅鸭杀》宣布即将推出手机版,开启预约通道后,迅速吸引超23万人次关注,玩家的青睐让市场又一次将视线转向了这一系列的狼人杀类游戏的原型……娱乐圈考古2000年锋菲恋世纪牵手2000年6月,巩俐,刘嘉玲、林青霞、王菲等人为王家卫的电影《花样年华》举办庆功会。那时候王菲已与窦唯离婚,20岁的谢霆锋还是个乐坛小鲜肉。刚刚在春晚上与董洁合唱了《今生……遇到这几种内眼角,还是建议开一下的双眼皮手术非常受欢迎,而在做双眼皮手术的时候,就要涉及到另外一个手术项目开内眼角手术。那么这个手术要不要做,有没有必要做呢?其实,判断开内眼角手术要不要做,就是从眼睛的基……松下发布2023年OLED旗舰电视MZ2000峰值亮度提升1松下将微透镜阵列(MLA)技术引入其2023款OLED旗舰电视MZ2000,大大提高了峰值亮度,以获得更好的HDR和全屏亮度。在CES2023上,松下宣布了其新款旗舰产品……淘菜菜推错阳互助助农保供,中国社科院专家应大力推广近期,多地生活物资需求激增,为快速打通社区电商生产链条上多家企业因员工新冠感染导致人手不足的堵点,阿里淘菜菜开始协调合作企业推错阳互助办法缓解这个问题。以安徽为例,淘菜菜……当孩子水泥封鼻不吃药怎么缓解?最近感染新冠的人越来越多,包括很多孩子也很难避免的感染了新冠,很多家长反映孩子也遭遇了水泥封鼻,晚上都睡不好觉,下面几个不吃药缓解水泥封鼻的方法建议家长们试试。图源网络……大雪节气适合吃什么?养生有哪些注意事项2022年12月7日,迎来了24节气中的第21个节气大雪,大雪节气意味着雪量更大,天气更冷,人们往往盼望着在大雪节气可以看到瑞雪兆丰年的好兆头,孩子们也有可能在这个节气实现堆雪……
我们应该给孩子太多的零花钱吗?现在生活质量逐渐提高,越来越的家庭也更加富裕,那么在教育孩子这方面,可能有的家庭就选择给孩子过多的零花钱。有的朋友如果年龄比较大的话,在小的时候,可能家里都没有零花钱可以用连去……江苏南京无想山风景区冬景如画来源:【人民网】江苏南京:无想山风景区冬景如画江苏南京:无想山风景区冬景如画【2】江苏南京:无想山风景区冬景如画【3】江苏南京:无想山风景区冬景如画【4……28岁女排名将新动态,化身气象播报员,有望取代张常宁进首发阵陕西全运会已经结束,运动员们都迎来了短暂的假期,其中很多人选择在这时候处理一下家庭事务,像排球运动员王宁、游泳运动员史婧琳都选择在这个时间段大婚。女排运动员张常宁也是频繁的晒出……夺金一刻川籍队医冲上去把国旗送到武大靖手上戴玮医生(中)与中国短道速滑队员合影2月5日,2022年北京冬奥会短道速滑项目产生首枚金牌。中国短道速滑队不负众望,冲出重围,拿到这枚沉甸甸的金牌。而不为人知的是,……巴特勒我是个很受欢迎的人,直到被激怒我才会开始竞争今日,热火球星吉米巴特勒接受了记者专访。在采访中,巴特勒谈到了自己的咖啡品牌。巴特勒表示:咖啡行业正在蓬勃发展,我的咖啡品牌即将推出很多很棒的合作产品,在我们谈话期间,他……为庆祝发射32周年哈勃团队发布HCG40星系群的图像本周,对于所有天文学爱好者或欣赏美丽太空图像的人来说,将迎来一个特殊的日子。哈勃太空望远镜将在2022年4月24日庆祝它的生日,这将标志着这个杰出的仪器在1990年发射后的32……手机没必要买最贵的,这4款机型值得买,再用三五年无压力头条创作挑战赛您在阅读前请点击上面的关注二字,后续会第一时间为您提供更多有价值的相关内容,感谢您的支持。随着手机处理器的性能越来越强,手机的性能也变得越来越强悍,现……重游龙子湖风景区近日,天气晴好,与爱人来蚌埠龙子湖风景区游玩。从家出发,沿雪花路、涂山路、环湖西路,骑行二十多分钟到达龙子湖公园。因疫情或者是周末的缘故,景区内游人不多。放眼望去,整个景……哈佛大学研究土豆会让血糖飙升,诱发心脑血管疾病?还能吃吗?土豆作为一种传统的食物,备受好评,很多人都认为它是一种非常健康的食物,比如说能控制血糖啦,降血压啦,甚至能抗癌啦。但是从2016年开始,土豆突然又被认为是心脑血管疾病的祸……电子身份证可以坐火车吗?航空已经可以使用,铁路铺开还会远吗电子身份证还不能作为有效身份证件乘坐火车,因为电子身份证还是一个试点应用,只在少数车站进行试点,大多数的车站还不支持,乘坐火车需要满足以下几点:1、实名制购票才可乘车;2、通过……易建联统治攻防两端,广东队将小胜福建,高登发挥出色却无法赢球在缺少威姆斯后,广东队的主教练杜锋在对战广厦队时,直接采取锻炼新人的策略,杜锋的意图十分明显,那就是为下一战面对福建队准备,广东队由于人员不完整,赛季至今还没有稳定的阵容,所以……怪物农场1ampampamp2DX评测上世纪的情怀作品合集欢迎关注,获取更多游戏评测资讯,入手与否不再犹豫。()前言《MonsterRancher(怪物农场)12DX》是光荣特库摩在1997和1999年制作发行的经典模拟养成游戏……
友情链接:中准网快好知易事利快百科快传网七猫云快生活中准网快软网聚热点文好找快好找