Servlet 学习

Servlet 实际开发很少用到。 【java基础】记录java 入门到放弃过程。

开发环境IDEA

Servlet 对应net 中 一般处理程序。

从基本的例子开发:创建过程  https://www.cnblogs.com/javabg/p/7976977.html

看到IDEA设置这个那个 

理解 IntelliJ IDEA 的项目配置和Web部署

https://www.cnblogs.com/deng-cc/p/6416332.html

这个可以跳过。 

web.xml配置介绍:图片文字描述 

其他的:获取参数,输出,乱码 等 参考网上的api 。想了想就不写了。跟重要记录心得。

通过例子:

 

 发现 我们新建的都是继承 HttpServlet,里面的DoGet,DoPost 都是重写 Ctrl+b 定位到源码 :发现所有的都是通过 service 等等。

运行过程:

 生命周期:总结(net mvc ,webfrom ..,vue 各种语言 都有生命周期 个人一句话总结:

程序从运行到结束过程,不同的阶段 提供不同 的方法给外界在不同的时候注入

( 调用可能说的不恰当 是否换成注入?) 毕竟我们写的都是给系统调用。

 

1).Servlet生命周期  实例化,初始化,提供服务,销毁,被回收:

  1,初始化阶段:调用init()方法

  2,响应客户请求阶段:调用service()方法 ,Service()方法内部对请求的类型(get/post)进行了判断,自动调用doPost/doGet

  3,终止阶段:调用destroy()方法

2).Servlet的单例多线程:

  单例:Servlet只在用户第一次请求时被实例化,并且是单例的,在服务器重启或关闭时才会被销毁。

  多线程:当请求到达时,Servlet容器(Tomcat...)通过线程池中可用的线程给请求者并执行Service方法,每个线程执行一个单一的 Servlet 实例的 service() 方法

 

 验证:

  • Servlet 通过调用 init () 方法进行初始化?

  • HttpServlet 方法里面没有找到,HttpServlet 继承 GenericServlet
  • 单例模式?

  • 注意:配置文件中不要定义  <load-on-startup>10</load-on-startup> 

  • init 会随tomcat启动 而触发

在继续学习情况下:会发现

 其中一个比较明显的弊端就是在Servlet编写html代码很痛苦,

最好可以在html文件里面写html代码,同时又能在里面调用java的变量,那么这样就需要学习JSP了。

但是又发现jsp 里面 一会html 一会java代码 。

下个主角 mvc 诞生了。

 参考资料:http://how2j.cn/stage/14.html

原文地址:https://www.cnblogs.com/y112102/p/11338610.html