Servlet介绍

Servlet:

Java类必须符合一定的规范:

1.必须继承javax.servlet.http.HttpServlet

2.重写其中的doGet()或doPost()方法

doGet():接受并处理所有get提交方式的请求

doPost():接受并处理所有Post提交方式的请求

Servlet要想使用,必须配置

servlet2.5:web.xml:

项目的根目录:WebContent,src

<a href="welcomeservlet">所在的jsp是在WebContent目录中,因此发出的请求welcomeservlet,是去请求项目的根目录

servlet中servlet-name与servlet-mapping中servlet-name的名字要保持一致

Servlet流程:

请求->  <url-pattern>  ->  根据<servlet-mapping>中的<servlet-name>去匹配<servlet>中的<servlet-name>,然后寻找到<servlet-class>,最终将请求交由该<servlet-class>执行。

 

servlet3.0:@WebServlet

不需要在web.xml中配置,但需要在Servlet类的定义处之上编写注解@WebServlet("url-pattern的值")

servlet流程:

请求地址与@WebServlet中的值进行匹配,如果匹配成功,则说明请求的就是该注解所对应的类

 

项目根目录:WebContent,src(所有的构建路径)

例如:WebContent中有一个文件index.jsp,src中有一个Servlet.java 

 如果:index.sp中请求<a href ="abc"">...</a>,则寻找范围:既会在src根目录中找,也会在WebContent根目录中找

如果是<a href ="a/abc"">...</a>,先在src,WebContent中找a,再在a目录中找abc

/:

在web.xml中:/在开头出现代表的是项目路径

在jsp中的:/在开头代表服务器根路径

 

servlet生命周期:5个阶段

加载

初始化:init(),servlet被加载并实例化以后  执行

服务:service() ->doGet  doPost

销毁:destroy(),Serlet被系统回收时执行

卸载 

加载与卸载是servlet容器自动处理

init()

1.第一次访问servlet时会被执行,并且只执行这一次

2.可以修改为tomcat启动时自动执行

a.Servlet2.5

在web.xml中写

<servlet>

.......

    <load-on-startup>1</load-on-startup>

</servlet>

其中的“1”代表tomcat启动时的执行顺序,1,2,3...

b. Servlet3.0

 在注解里面,写上

@WebContentServlet(Value="/文件名",loadOnStartup=1)

service() ->doGet  doPost调用几次就执行几次

destroy() :关闭tomcat服务时,执行一次。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/485617.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

区块链2021狂想曲:迎接以技术为名的春天

来源&#xff1a; 脑极体另一方面&#xff0c;区块链也作为“核心技术自主创新的重要突破口”&#xff0c;进入了探寻自有价值、进入产业化赋能的全新阶段。站在2021年初始&#xff0c;我们不仅想知道在过去一整年里&#xff0c;区块链实际落地应用的情况究竟怎么样。更想尝试回…

RabbitMQ从初学到精通一

今天来学习一下RabbitMQ,从最起初的安装开始学习&#xff1a; 一、RabbitMQ 安装图1 rabbitMQ下载http://www.rabbitmq.com/download.html下载文件rabbitmq-server-mac-standalone-3.7.4.tar.xz注意&#xff0c;这里的文件是xz压缩文件&#xff0c;需要用xz -d rabbitmq-server…

关于自动驾驶, Mobileye 的 14 个最新观点

来源&#xff1a;新智驾作者 &#xff1a;苏珊珊为了在2025年实现消费级别的自动驾驶&#xff0c;Mobileye都做了什么&#xff1f;Mobileye近日在CES 2021展会上进一步分享了其在ADAS及全自动驾驶领域的战略规划&#xff0c;并详细介绍了Mobileye为实现消费级别的全自动驾驶和“…

linux ps进程管理命令,Linux 进程管理命令之ps

这个命令会显示某一时刻系统的进程状态。ps是通过/proc接口&#xff0c;让管理员查看内核进程状态信息。为了响应一切皆文件&#xff0c;进程参数模拟成文件系统类型(文件)&#xff0c;参数路径模拟成目录/proc/# 每个进程都有一个进程ID号这个目录里存放的各种进程的状态信息启…

2020年中国智慧城市发展值得关注的技术

文章来源&#xff1a;Gartner图片来源&#xff1a;网络每年Gartner发布的技术成熟度曲线&#xff08;The Hype Cycle&#xff09;报告都备受市场瞩目&#xff0c;也成为政府及企业做出重大投资决策的风向标。其原因在于&#xff0c;它不仅能够让CIO了解到年度最备受瞩目和极具商…

腾讯研究院发布《2021数字科技前沿应用趋势》

来源 &#xff1a;腾讯研究院编辑&#xff1a; 陈近梅2021年1月9日&#xff0c;在腾讯研究院举办的“腾讯科技向善暨数字未来大会2021”上&#xff0c;《变量&#xff1a;2021数字科技前沿应用趋势》报告正式发布。该报告由腾讯研究院发起&#xff0c;先后访谈业界权威专家&…

linux导入pgsql日志目录,Centos下PostgreSQL安装及修改数据目录

记录下在Centos7.6 安装PostgreSQL数据库&#xff0c;版本10.12的过程&#xff0c;第一次装&#xff0c;遇到的坑太多了&#xff0c;网上教程坑也多&#xff0c;有的版本不一样方法不一样。花了半天时间…背景&#xff1a;内网服务器&#xff0c;搭了个sonarqube代码审计系统&a…

H3 BPM之流程包(流程Demo)导入导出

流程包是什么&#xff1f; 流程包指的是工作流从表单设计到流程设计产生的数据包&#xff0c;所有的表单逻辑和流程模型逻辑数据都包含在里面。由于各种厂商工作流软件运行机制不一样&#xff0c;流程包不支持在不同产品之间导入导出&#xff0c;只支持在同一款工作流软件里面导…

11大改革举措!国家自然科学基金2021年项目指南发布

来源&#xff1a;国家自然科学基金委员会网站编辑&#xff1a;宗华排版&#xff1a;李言1月15日&#xff0c;国家自然科学基金委员会网站更新了2021年度项目指南。点击链接进入&#xff1a;2021年项目指南未来智能实验室的主要工作包括&#xff1a;建立AI智能系统智商评测体系&…

Servlet API

Servlet API:由两个软件包组成&#xff1a;对应于HTTP协议的软件包&#xff0c;对应于除HTTP协议以外的软件包 即Servlet API 可以适用于任何通信协议 我们学习的Servlet&#xff0c;是位于javax.servlet.http包中的类和接口&#xff0c;是基础HTTP协议 Servlet继承关系&…

hibernate框架学习之使用SQLQuery查询数据

SQLQuery对象的获取  Hibernate支持使用原生SQL语句进行查询&#xff0c;通过session对象获得SQLQuery对象进行&#xff0c;需要传入SQL语句  SQLQuery createSQLQuery(String sqlStr)  SQLQuery query session.createSQLQuery(“select * from tbl_user");sqlStr是…

Linux下载cfg命令,Linux安装详解-配置ks.cfg实现自动安装过程

之前发过一篇关于通过PXE实现Linux批量无人值守自动安装的文章(可以参考http://www.linuxidc.com/Linux/2011-08/39949.htm)&#xff0c;不过写的只是具体的配置和操作&#xff0c;对于原理部分没有说明&#xff0c;最近通过一段时间的学习&#xff0c;把linux的启动安装过程深…

人类如何接近“宇宙无限”?微积分的力量无处不在

来源&#xff1a;遇见数学距离2021年高考还有不到两百天&#xff0c;当无数高中生还在为千军万马过独木桥儿紧锣密鼓准备之时&#xff0c;有部分初中生却已经一只脚踏入了清华大学的校门。2020年的最后一天&#xff0c;清华大学发布官方通知&#xff0c;将启动“丘成桐数学科学…

三层架构

1.三层架构 与MVC设计模式的目标一致&#xff0c;都是为了 解耦合&#xff0c;提高代码复用 区别&#xff1a;二者对项目理解的角度不同 2.三层组成&#xff1a; 表示层(USL,User Show Layer;视图层) 业务逻辑层(BLL,Business Logic Layer;Service层) 数据访问层(DAL,Dat…

这10个著名的思想实验,竟然是物理学家完成的

来源 &#xff1a; 知更社区在物理学中&#xff0c;有一类特殊的实验&#xff1a;它们不需要购置昂贵的仪器&#xff0c;不需要大量的人力物力&#xff0c;需要的只是有逻辑的大脑&#xff1b;而这种实验却可以挑战前人的结论&#xff0c;建立新的理论&#xff0c;甚至引发人们…

怎样查看Jdk是32位还是64位

怎样查看Jdk是32位还是64位、、 ------------- --------------- ------------- 其实还可以这样看哦、、 --------------- ------------- ---------------转载于:https://www.cnblogs.com/GaoNa/p/9352283.html

计算机网络概念

计算机网络&#xff1a;将独立的&#xff0c;分散的计算机系统(手机&#xff0c;电脑)通过线路&#xff0c;通信设备(路由器&#xff0c;交换机)连接起来&#xff0c;由软件来实在资源共享&#xff0c;信息传递的系统 计算机网络的功能&#xff1a; 1. 数据通信 eg&#xff…

【创新应用】5AloT(5G+AI+物联网)深度研究报告:下一轮科技红利

来源&#xff1a;智能研究院当前正处于两轮科技红利之间&#xff0c;5AIoT(5GAI物联网)将成继移动互联网后&#xff0c;下一轮科技红利最大的机遇。智能手机和移动互联网连接数趋于饱和&#xff0c;但伴随 5G、wifi、AI 等技术发展、成本下降&#xff0c;以及场景逐渐成熟&…

四本关于意识问题的英文新书

来源&#xff1a;混沌巡洋舰 The Feeling of Life Itself: Why Consciousness Is Widespread but Cant Be Computed有一种观点认为&#xff0c;意识的出现比以前假设的更广泛&#xff0c;它是一种活着的感觉&#xff0c;而不是一种计算或者一种巧妙的幻觉。在《生命之感》一书…

LVS入门篇(五)之LVS+Keepalived实战

一、实验架构和环境说明 &#xff08;1&#xff09;本次基于VMware Workstation搭建一个四台Linux&#xff08;CentOS 7.4&#xff09;系统所构成的一个服务器集群&#xff0c;其中两台负载均衡服务器&#xff08;一台为主机&#xff0c;另一台为备机&#xff09;&#xff0c;另…