servlet 是运行在 Web 服务器(tomcat)中的小型 Java 程序(即:服务器端的小应用程序

(其实就是一个java类,只不过不用再new)servlet 通常通过 HTTP(超文本传输协议)接收和响应来自 Web 客户端的请求

 

一、实现javax.servlet.Servlet接口

写一个java类,实现servlet接口

Servlet 三种创建方式

Servlet 三种创建方式

Servlet 三种创建方式

Servlet 三种创建方式

输入impl 然后alt+/可以自动补齐 。

鼠标放在Servlet上可以自动出现要包含的包名。

下图鼠标放在1的位置然后选择2这样就会出现要实现的方法。

 Servlet 三种创建方式

Servlet 三种创建方式

然后如下图修改web.xml文件

注意:下图中的1是项目的全路径,如果你在建web project项目时填的是com.it.servlet那么下面应该填的是com.it.servlet .Demo1  下图中的2不要忘了/

Servlet 三种创建方式

全路径复制方法入下图:(这样就可以复制出com.it.servlet.Demo1

 Servlet 三种创建方式

应用部署到服务器(tomcat

 Servlet 三种创建方式

启动服务器,输入 http://localhost:8080/day8/demo1

浏览器啥都没有,因为我们啥都没写。。。。。原理如下:

Servlet 三种创建方式

执行过程如下:

Servlet 三种创建方式

 tomcat接受浏览器信息,然后找到相应的web projectday07,然后根据web.xml找到servletDemo1(就是我们写的类),并实例化servletDemo1。 然后tomcat调用servlet中的init()方法 Service()方法等

 

 

 二、继承javax.servet.GenericServlet

只要重写service方法就行了——适配器模式

 Servlet 三种创建方式

Servlet 三种创建方式

然后输入下面的程序:(技巧 alt+ / 自动补齐GenericServlet  注意大小写

然后鼠标放到servlet_demo2处自动补齐service方法

 Servlet 三种创建方式

然后在web.xml下输入

Servlet 三种创建方式

然后重新部署tomcat

Servlet 三种创建方式

然后在浏览器中输入:

http://localhost:8080/day07/demo2 

(就会在myeclipse下框中输出servletDemo2 )

按住ctrl键然后点击下图

 Servlet 三种创建方式

然后点击下图

 Servlet 三种创建方式

 

然后点击下图

Servlet 三种创建方式

然后倒入tomcat源码

 Servlet 三种创建方式

下图,点击1显示出来的就是GenericServlet类的所有方法,带三角号(箭头2)的是继承servlet的,不带三角号(箭头3)的是自己实现的方法。

 Servlet 三种创建方式

 

 

 

三、继承javax.servlet.http.HttpServlet

(模板方法设计模式)看源码可知其实就是多态  【开发中常用】

新建应用程序然后导包

Servlet 三种创建方式

Servlet 三种创建方式

插入Override函数(重写函数):

1空白处点击右键,然后选择Source->Override/Implement Methods...如下图:

 Servlet 三种创建方式

然后如下图选择doget()方法  dopost()方法

Servlet 三种创建方式

然后重写这两个方法如下图

Servlet 三种创建方式

在web.xml文件输入

Servlet 三种创建方式

然后重新加载

Servlet 三种创建方式

浏览器中访问

http://localhost:8080/day07/demo3

就会在 Myeclipse 出现

Servlet 三种创建方式原理:

Tomcat会创建一个demo3对象,但是demo3是继承httpservlet类的,而浏览器在访问服务器时,Tomcat会调用service方法,但是httpservlet类里重写了GenericServlet类的service方法,所以会调用httpservlet类中的service方法这个方法中调用了doget方法。所以我们要实现doget方法(按住ctrl键,然后鼠标点击相关的类名和函数名可以查找看一下源码)

Servlet --> GenericServlet --> HttpServlet  (继承HttpServlet)

曾祖父         爷爷                    爸爸                    孙子

 

 

 

 

 

 

更简单的创建    【自动生成web.xml 中的内容

Servlet 三种创建方式

Servlet 三种创建方式

Servlet 三种创建方式

然后就会自动生成惹

Servlet 三种创建方式

输入http://localhost:8080/day9/servlet/demo4 即可访问

 

 

 

 

 

 

servet映射细节

在Web.xml添加下图箭头1,那么在浏览器中输入:

http://localhost:8080/day9/demo666 访问的也是demo4中的内容·

Servlet 三种创建方式

web.xml如下图添加的内容作用:

Servlet 三种创建方式

 

 

上图的箭头1  *.do 代表任意字符串.do 都能访问demo4

浏览器输入:

http://localhost:8080/day9/demo.do

上图的箭头2   /*    代表任意字符串都能访问demo4

浏览器输入:

http://localhost:8080/day9/de

 

上图的箭头3   /action/*    /action开头的请求都可以访问demo4

浏览器输入:

http://localhost:8080/day9/action/dew

 

 

匹配规则:

优先级:从高到低

绝对匹配(就是名字完全匹配)-->  /开头匹配 --> 后缀名方式匹配

 

打开 F:\apache-tomcat-7.0.52\conf 下的web.xml97行和360行可知只要在浏览器中输入

http://localhost:8080/day9/ 默认打开的资源都是servlet 

 

相关文章:

  • 2021-12-04
  • 2021-11-19
  • 2021-10-31
  • 2021-11-25
  • 2021-12-25
  • 2021-05-18
  • 2021-06-07
  • 2022-12-23
猜你喜欢
  • 2021-12-21
  • 2022-12-23
  • 2021-11-10
  • 2022-12-23
  • 2021-11-25
  • 2022-03-02
  • 2021-06-16
相关资源
相似解决方案