Servlet快速入门及运行流程
一、Servlet快速入门
1.创建一个web工程
2.在JavaResource中src下创建一个包名称为com.myxq.servlet
3.在创建的servlet包当中创建一个class文件起名为FirstServlet
4.进入该class实现一个Servlet接口,实现它未实现的方法
- 重点看service方法
- 在该方法当中写入一句话进行输出
5.在web.xml当中进行配置

二、使用注解创建Servlet
从Servlet3.0开始可以直接使用注解的形式来去使用Servlet
在创建好的Servlet上面写有一个@WebServlet("/myServlet")
- 这个就是一个注解
- 就相当于在代码上添加了一个小插件。
- 贴上这个注解后,就不用再去做配置文件,会在内部自动帮你去做
- 括号当中的内容就是url-patten的内容,要在地址栏当中path后面跟的内容
使用注解时的注意点
- 在web.xml当中要有一个配置
- metadata-complete 代表是否扫描类当中定义的注解,值为true和false,当为true的时候不扫描,为false扫描,要使用注解就要把此值设置为false

三、Servlet创建过程
当Tomcat服务器加载时,程序通过读取web.XNL文档,然后通过反射机制创建Servlet对象,并执行init方法

四、HttpServlet
常用方法
- service 每一次发送请求的时候就会调用,当写了service就会不再调用get或post
- doGet 当发送get请求时调用
- doPost 当发送post请求的时候调用
内部方法调用过程
当接收到一个请求时,tomcat就会找对应的service方法,如果当前servlet中没有存在service方法,就会到它的父类当中去找,在父类当中找到service是参数为ServletRequest,在内部会把参数转为httpServlet,转换完毕后会再继续调用参数为httpServletRequest的service方法

在此方法当中会获取参数的类型,根据不同的参数类型再去调用不同的方法

Servlet快速入门及运行流程的更多相关文章
- HTTP和Servlet快速入门
目录 1.HTTP 1.1 请求数据格式 1.2 相应数据格式 2.Servlet 3.Servlert的xml配置 1.HTTP 1.1 请求数据格式 请求行:请求数据的第一行 包含三个内容,按顺序 ...
- Servlet快速入门
servlet是运行在服务端的java小程序,用来处理客户端请求,响应给浏览器的动态资源 servlet规范:包含3个技术点 1.servlet技术 2.filter技术 3.listener技术 s ...
- 【servlet】Servlet快速入门&使用Eclipse发布web项目
创建时间:6.15 1.什么是Servlet Servlet 运行在服务端的Java小程序,是sun公司提供一套规范(接口),用来处理客户端请求.响应给浏览器的动态资源.但servlet的实质就是ja ...
- Mybatis第一篇【介绍、快速入门、工作流程】
什么是MyBatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为 ...
- servlet(一):Servlet的概念和运行流程
概念: 狭义的 Servlet 是指 Java 语言实现的一个接口,广义的 Servlet 是指 任何实现了这个 Servlet 接口的类,一般情况下,人们将 Servlet 理解为后者. Servl ...
- Servlet快速入门:第一个Servlet程序
Servlet是整个JavaWeb开发的核心,同时也是一套规范,即公共接口.用于处理客户端发来的请求并作出响应.通常情况下我们会发送不同的请求并交由不同的处理程序来处理,例如处理用户信息和处理订单信息 ...
- SpringBoot框架:快速入门搭建运行一个应用程序(一)
一.环境配置 Java环境:1.8版本 开发工具:IntelliJ IDEA 二.简单应用 1.创建项目 选择创建的项目类型为Spring Initializr,Project SDK选择1.8版本的 ...
- (4)Maven快速入门_4在Spring+SpringMVC+MyBatis+Oracle+Maven框架整合运行在Tomcat8中
利用Maven 创建Spring+SpringMVC+MyBatis+Oracle 项目 分了三个项目 Dao (jar) Service (jar) Controller (web) ...
- Servlet(一)----快速入门
## Servlet:server applet * 概念:运行在服务端的小程序 * servlet就是一个接口,定义了Java类被浏览器访问到(tomcat识别)的规则. * 将来我们自定义一 ...
随机推荐
- getElementsByClassName兼容 封装
众所周知,JS获取DOM有个getElementsByClassName,非常方便,但是呢,为了兼容某些浏览器(你懂的).只能 进行封装下了.解决方法如下 <!DOCTYPE html> ...
- Java 之 request 案例——用户登录
用户登录案例需求: 1.编写login.html登录页面 username & password 两个输入框 2.使用Druid数据库连接池技术,操作mysql,db1数据库中user表 3. ...
- unity点击按钮换按钮图标
在做项目时,比如声音开关我们涉及到按钮的图标切换. using System.Collections; using System.Collections.Generic; using UnityEng ...
- 常识之外:全表扫描为何产生大量 db file sequential read 单块读?
原创 2016-07-05 熊军 Oracle 编辑手记:在理解Oracle技术细节时,我们不仅应该读懂概念,还要能够通过测试验证细节,理解那些『功夫在诗外』的部分,例如全表扫描和单块读. 开发人 ...
- iframe页面script交互
主页面: <html> <tr> <td> <div id=RightViewDiv> <iframe name=SubSeekFrame sty ...
- Jupyter Notebook修改默认的工作目录
Jupyter Notebook修改默认的工作目录 方法1:通过配置文件修改 只适合从命令行启动notebook生成配置文件,如果你已经在windows环境变量中设置好了jupyter noteboo ...
- Spring中获取被代理的对象
目录 Spring中获取被代理的对象 获取Spring被代理对象什么时候可能会用到? Spring中获取被代理的对象 Spring中获取被代理的对象 ### 获取Spring被代理对象的JAVA工具类 ...
- 《TensorFlow2深度学习》学习笔记(四)对笔记二中的模型增加正确率展示
全部代码如下:(红色部分为与笔记二不同之处) #1.Import the neccessary libraries needed import numpy as np import tensorflo ...
- django项目基于钩子验证的注册功能
前端html <div class="agile-row"> <h3>注册</h3> {# 注册的开始#} <div class=&quo ...
- D. Nested Segments(树状数组、离散化)
题目链接 参考博客 题意: 给n个线段,对于每个线段问它覆盖了多少个线段. 思路: 由于线段端点是在2e9范围内,所以要先离散化到2e5内(左右端点都离散化了,而且实际上离散化的范围是4e5),然后对 ...