尚学堂048天总结+Servlet

001天

行百里者半九十,想要在一个行业里成为顶尖人才,一定满足一万小时定律,要想学好JAVA,需要持之以恒不断地努力,每天都要勤思考+善于询问+解决问题!

知识温故而知新>>>>>> 

方法重写与重载的区别

尚学堂048天总结+Servlet_第1张图片

今天学到的知识>>>>>>

Servlet的运行流程分析

请完整的写出视频中在画图中Servlet创建流程?

1.创建普通类继承HttpServlet

2.重写service(doGet/doPost)方法

3.配置servlet(在web.xml中注册servlet)

根据视频请说明请求地址localhost:8080/project/s的每个部分的作用?

本机IP地址,端口号8080,打开project文件夹下的s文件

Myeclipse中启动和关闭服务器 

请写出Servlet的url-pattern的配置方式

1 精确匹配  中配置的项必须与url完全精确匹配。

MyServlet/user/users.html/index.html/user/addUser.action

  当在浏览器中输入如下几种url时,都会被匹配到该servlet

  http://localhost:8080/appDemo/user/users.html

  http://localhost:8080/appDemo/index.html

  http://localhost:8080/appDemo/user/addUser.action

  注意:

  http://localhost:8080/appDemo/user/addUser/ 是非法的url,不会被当作http://localhost:8080/appDemo/user/addUser识别

  另外上述url后面可以跟任意的查询条件,都会被匹配,如

  http://localhost:8080/appDemo/user/addUser?username=Tom&age=23 会被匹配到MyServlet。

2 路径匹配  以“/”字符开头,并以“/*”结尾的字符串用于路径匹配

MyServlet/user/*

  路径以/user/开始,后面的路径可以任意。比如下面的url都会被匹配。

  http://localhost:8080/appDemo/user/users.html

  http://localhost:8080/appDemo/user/addUser.action

  http://localhost:8080/appDemo/user/updateUser.actionl


3 扩展名匹配  以“*.”开头的字符串被用于扩展名匹配

    MyServlet

    *.jsp

    *.action

  则任何扩展名为jsp或action的url请求都会匹配,比如下面的url都会被匹配

  http://localhost:8080/appDemo/user/users.jsp

  http://localhost:8080/appDemo/toHome.action

4 缺省匹配

MyServlet/

多个servlet配置同一个url-pattern会报什么错误?

为什么Servlet只会创建一个,根据视频中的讲解说出你的理解

Servlet容器默认是采用单实例多线程的方式处理多个请求的:

1.当web服务器启动的时候(或客户端发送请求到服务器时),Servlet就被加载并实例化(只存在一个Servlet实例);

2.容器初始化化Servlet主要就是读取配置文件(例如tomcat,可以通过servlet.xml的设置线程池中线程数目,初始化线程池通过web.xml,初始化每个参数值等等。

3.当请求到达时,Servlet容器通过调度线程(Dispatchaer Thread) 调度它管理下线程池中等待执行的线程(Worker Thread)给请求者;

4.线程执行Servlet的service方法;

5.请求结束,放回线程池,等待被调用;

请说出视频中的两个注意

Servlet的生命周期

请求说出Servlet的生命周期

Servlet_生命周期:首先加载servlet的class,实例化servlet,然后初始化servlet调用init()的方法,接着调用服务的service的方法处理doGet和doPost方法,最后容器关闭时候调用destroy 销毁方法

init方法,service方法,destory方法的调用时机

1.web.xml被成功加载之后,当客户端对指定的servlet第一次发起访问时,容器会自动执行service的init方法(只会在第一次访问时执行)

2.容器会执行service方法,再根据客户端发起请求(get、post...)决定调用doget/dopost...完成相应的操作

3.当容器停止服务时,servlet会执行destory方法完成销毁操作

doGet和doPost和Service方法的区别

请简述doGet、doPost和service方法的区别

Service 方法:

     不管是 get 方式或是 post 方式的请求,如果 自己写的Servlet 类中有 service() 方法,则优先调用 Service 方法。然后才会调用自己覆写的doPost()或是doGet()方法。

doGet 方法:

   在没有 service 方法的情况下如果是 get 方式的请求所调 用的处理请求的方法

doPost 方法:

   在没有 service 方法的情况下如果是 post 方式的请求所调 用的处理请求的方法  

什么情况下会出现405异常     

可能会因 Web 服务器没有被设置为从客户端接受输入数据而出现

doGet和doPost和service方法调用的本质

请将视频中的注意总结写出来。

Servlet常见异常总结

请说明404的原因。

Web服务器(运行Web站点)认为客户端(例如Web浏览器或CheckUpDown机器人)发送的HTTP数据流是正确的,但是无法提供对URL指定的资源的访问。

请说明500错误的原因

当Web服务器遇到阻止其返回所请求的网页的问题时,会发生该状态代码。Web服务器无法更具体地说明HTTP 500错误的原因。也称为内部服务器错误,您的浏览器会报告错误500,但问题出在网站本身

请求说明405的原因

405 不允许此方法,对于请求所标识的资源,不允许使用请求行中所指定的方法。

你可能感兴趣的:(尚学堂048天总结+Servlet)