Servlet—基础
什么是Servlet?
1 . jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代
码,Web容器将JSP的代码编译成JVM能够识别的java类)
2. jsp更擅长表现于页面显示,servlet更擅长于逻辑控制.servlet控制器降低耦合性
3. Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletRequest对象,
HttpServletResponse对象以及HttpServlet对象得到.Jsp是Servlet的一种简化,使用Jsp只需要完
成程序员需要输出到客户端的内容,Jsp中的Java脚本如何镶嵌到一个类中,由Jsp容器完成。而
Servlet则是个完整的Java类,这个类的Service方法用于生成对客户端的响应。
JSP和Servlet的区别?
1.在JSP是在Servlet技术产生之后才产生的,为什么?
2.jsp在服务器经过翻译编译之后的java文件,其实是继承
org.apache.jasper.runtime.HttpJspBase类(编相应
的jspService方法,输出指定的html代码)
并实现了org.apache.jasper.runtime.JspSourceDependent
接口
3.HttpJspBase类其实也是继承HttpServlet类,所以说,JSP
本质上也和servlet一样继承自HttpServlet类。所以说
jsp本质上也是一个servlet,都运行在服务器端。
Servlet:是一个类,运行在服务器端,用来接受请求和响应请求
Servlet的使用
Servlet的应用步骤:
1:创建Servlet类,继承HttpServlet类,重写doPost()/doGet()方法
2:部署Servlet
a)编译Servlet到/WEB-INF/classes目录
b)编辑部署描述文件web.xml
3:通过浏览器访问servlet.

编辑部署描述文件web.xml
<servlet>
<servlet-name>MyServlet</servlet-name>//这里是servlet 的名字,自己定义 的
<servlet-class>Servlet </servlet-class>//这里是servlet的位置 。 如果在一个包下就写包名.类名,容器会从class的路径去实例化servlet。
</servlet>
<servlet-mapping>
<servlet-name>MyServlet </servlet-name>//跟上面的;servlet-name 必须一样
<url-pattern>/abc </url-pattern>//这是在地址 输入访问的时候 输入的,自己定义
</servlet-mapping>
<url-pattern>的三种配置方式:





Servlet的结构
Servlet接口 :定义了一些接收用户请求,处理用户请求的方法,Servlet自身的方法。
ServletConfig:每一个Servlet都对应一个ServletConfig 实例(实例作为init方法的参数传进去)里面是 关于Servlet的一些配置。
GenericServlet:实现了上面两个接口,但是并没有实现全部 的方法,所以还是一个抽象类。
HttpServlet :实现了GenericServlet的部分方法,所以HttpServlet也是抽象类,处理http协议的请求和响应







Servlet的请求
请求和响应的接口的继承关系





什么是请求的上下文路径?
要访问的项目的根目录的路径:localhost:6060/new2/





Servlet—基础的更多相关文章
- JSP数据交互(二)和Servlet基础
01.Application原理与应用 01.application对象的作用域范围是整个应用服务,而它在应用中所承担的责任就类似于一个全局变量.只要服务启动,则application对象就会存在. ...
- Servlet基础(三) Servlet的多线程同步问题
Servlet基础(三) Servlet的多线程同步问题 Servlet/JSP技术和ASP.PHP等相比,由于其多线程运行而具有很高的执行效率. 由于Servlet/JSP默认是以多线程模式执行的, ...
- Servlet基础(二) Servlet的生命周期
Servlet基础(二) Servlet的生命周期 Servlet的生命周期可以分为三个阶段: 1.初始化阶段 2.响应客户请求阶段 3.终止阶段 Servlet的初始化阶段 在下列时刻Servlet ...
- Servlet基础(一) Servlet简介 关键API介绍及结合源码讲解
Servlet基础(一) Servlet基础和关键的API介绍 Servlet简介 Java Servlet是和平台无关的服务器端组件,它运行在Servlet容器中. Servlet容器负责Servl ...
- JSP/Servlet基础语法
相关学习资料 http://my.oschina.net/chape/blog/170247 http://docs.oracle.com/cd/E13222_01/wls/docs81/webapp ...
- Servlet基础简单总结(上)
Servlet基础一些简单总结(上): 1.Java Servlet是运行在Web服务器上的Java程序2.Java平台给Servlet开发者提供了强大的API/面向对象编程平台无关/强类型/垃圾回收 ...
- servlet总结:Servlet基础
Servlet基础 1.手工编写第一个Servlet ⑴继承HttpServlet ⑵重写doGet()或者doPost()方法 ⑶在web.xml中注册Servlet 2.使用eclipse编写第一 ...
- servlet基础(组成与生命周期)
servlet基础作用:servlet是运行在Web服务器或应用服务器上的程序:担当web浏览器或其他HTTP客户程序发出的请求与HTTP服务器上的数据库或应用程序之间的中间层.1.读取客户程序发送的 ...
- Unit01: Servlet基础 、 HTTP协议
Unit01: Servlet基础 . HTTP协议 在页面上输出当前时间 package web; import java.io.IOException; import java.io.PrintW ...
- Servlet基础教程:tutorialspoint-servlet
来自turorialspoint的Servlet基础教程(英文),官网:https://www.tutorialspoint.com/servlets/index.htm 这个教程在国内已经被翻译成中 ...
随机推荐
- [原]git的使用(五)---删除文件
9.删除文件 [实践出真知] 创建test.txt 文件 并add 和commit到仓库 $ git status #新增加的文件test.txt On branch master Untracke ...
- mrtg 和 rrdtools
mrtg可能很多人都用过,但那已经是n久以前的事了,现在在国内很多IDC,ISP都还用这个,因为我们这有个Linux科学家,在Linux工作n 久,我也就沾点光,学了不少东西,现在给大家介绍一个rrd ...
- SOS does not support the current target architecture解决方法
客户提交一个dump文件,WinDbg加载时出现大量WARNING,加载对应版本的SOS后执行相应命令提示"SOS does not support the current target a ...
- 【咸鱼教程】JsZip压缩与解压教程
引擎版本3.0.6 教程目录一 为什么要用jszip二 如何使用jszip 2.1 下载jszip库 2.2 导入jszip库 2.3 加载和解压zip代码三 Demo源码下载 一 ...
- 【CF900D】Unusual Sequences 容斥(莫比乌斯反演)
[CF900D]Unusual Sequences 题意:定义正整数序列$a_1,a_2...a_n$是合法的,当且仅当$gcd(a_1,a_2...a_n)=x$且$a_1+a_2+...+a_n= ...
- dhroid - Dhdb orm简化sqlite数据库操作
android数据库其实使用的不多,dhroid框架中的网络缓存使用了数据库我就写了也写了一个数据库操作工具 dhroid 数据库基本还是单表操作多,为了简单我只做了单表,那些级联,懒加载,什么的分两 ...
- Unity3D笔记 英保通八 关节、 布料、粒子系统
一.关节1.1..链条关节 Hinge joint :他可以模拟两个物体间用一根链条连接在一起的情况,能保持两个物体在一个固定距离内部相互移动而不产生作用力,但是达到固定距离后就会产生拉力 1.2.. ...
- np.tile 函数使用
>>> import numpy>>> numpy.tile([0,0],5)#在列方向上重复[0,0]5次,默认行1次array([0, 0, 0, 0, 0, ...
- mysql语句性能分析
1.开启慢查询 slow_query_log = 1 //开启 slow_query_log_file = mysql_slow_query.log //日志文件位置 long_query_time ...
- Mybatis批量insert报错的解决办法【the right syntax to use near '' at line...】
Java中使用Mybatis批量插入数据时Mapper.xml中的sql如下: <insert id="batchSave"> into t_emp(emp_name, ...