java 创建服务器文件夹_Java修行第053天---Servlet技术

1 掌握 Servlet的运行流程

2 掌握Servlet的在web.xml中的配置

3 掌握Servlet的生命周期

4 掌握Servlet中doGet doPost和service方法

1 掌握 Servlet的运行流程

1) 打开 Myeclipse 并创建工作空间

2)点击 file 选择—>new—>web project—>输入项目名,点击 finish

3)在 src 下创建包 com.bjsxt.servlet.

4)在包下创建一个普通 java 类 MyServlet,并继承HttpServlet

5)在 MyServlet 类中覆写 service 方法。

6)在 webRoot 下的 WEB-INF 下找到 web.xml 文件并配置,如下。

7)打开 tomcat 的安装目录,在 webapps 目录下新建文件夹,文件夹名为 project,并将项目源码webRoot 下的内容全部复制到该文件夹下。

(可以使用MyEclipse集成tomcat和项目部署来实现自动更新webRoot中的 源码)

其中求地址localhost:8080/project/s的每个部分的作用

localhost:8080 地址ip ,/project 虚拟项目名 , /s servlet别名

c210e076b569795e26c4f0a241c9f5bc.png

f0ce16e22abb2ade67d45b663bd5c905.png

2 掌握Servlet的在web.xml中的配置

e37caf26c0b08fc3b5d04895c6d6f81a.png

注意: 多个servlet配置同一个url-pattern会报的错误

报illegalArgumentException非法参数异常

3 Servlet的创建

普通java类MyServlet继承HttpServlet之后,就不再是普通Java类,而是一个servlet

(3.1)为什么Servlet只会创建一个

为了节省内存,每个用户请求都会引发新的线程,servlet只会创建一个 实例化对象,该独享是线程共享的.

d9bb3dbbe34e68afcc8debd2abec3748.png

注意1:服务器在接受到浏览器的请求后,会开辟一个线程来处理请求, 在线程中调用对应的Servlet进行处理。

注意2:服务器会调用servlet处理请求,但是一个servlet服务器只会创建 一个实例化对象且该对象是线程共享的。

4 Servlet的生命周期

从第一次被调用到服务器关闭

验证:

init方法 :servlet被初始化创建的时候调用

service方法:处理请求的时候

destory方法 :servlet被销毁的时候。

当服务器关闭的时候销毁servlet,触发destroy方法的执行

注意:

我们可以在web.xml中配置load-on-startup来设置Servlet的加载时机为服务器启动。

生命周期就变为从服务器开启到服务器关闭

8c729154109ac9c7ac8ac1a3a069bb0b.png

个人心得: 处理请求时tomcat会先对servlet进行实例化和初始化的创建,这时服务器会先

调init方法,完成对servlet的初始化设置.然后再调service方法处理请求, 注意初始化完成之

后,再执行时不再初始化. 说明,一个servlet只实例化创建一次,当servlet在服务器关闭时才

会被销毁.

服务器关闭时,servlet被销毁了才触发的destory方法的执行,不是因为服务器关闭了,才调的destory.

5 doGet和doPost和Service方法的区别

doGet方法:

在没有service方法下,如果是get方式请求,那么所调用的 处理请求的方法是doget方法

doPost方法:

在没有service方法下,如果是post方式请求,那么所调用的 处理请求的方法是doPost方法

service方法:

不管是 get 方式还是 post 方式的请求,如果 Servlet 类中 有service 方法,则优先调用 Service 方法。(无论是什么类型的请求方式, 服务器都会优先执行service方法。)

注意有时会出现405异常:

请求方式和servlet中的方法不匹配所造成的。比如get请求方式,却只 有doPost()方法,这时会报错405异常 .

(5.1) doGet和doPost和service方法调用的本质

1)servlet中没有声明service方法的时候,会根据请求方式调用对应的方法进行请求处理,

2)如果在servlet中没有声明对应的请求处理方法,则会报405错误。

tomcat服务器其实只认识service方法,如果我们自己声明的servlet中没有覆写service方法,则会执行HttpServlet中的service方法,而HttpServlet中的service方法会根据请求方法调用对应的doXX()方法执行请求处理。

6 下面是常见的异常错误总结

404的原因。

原因一:在请求地址中的servlet的别名书写错误。

原因二:虚拟项目名称拼写错误

500错误的原因

Xml中<select-class>全限定类名</select-class>的全限定类名写错或者因为service方法体的代码执行错误导致

405的原因

请求方式和servlet中的方法不匹配导致出现错误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值