【Java 基础】--HttpServlet详解


Servlet简介

  Servlet的框架由两个java包组成:javax.servlet和javax.servlet.http在javax.servlet包中定义了所有的Servlet类都必须实现或扩展的的通用接口和类,在javax.servlet.http包中定义了采用HTTP通信协议的HttpServlet类。

  Servlet的框架核心是javax.servlet.Servlet接口,所有的Servlet必须实现这一接口。在Servlet接口中定义了5个方法,其中3个方法代表了Servlet的声明周期。

  Init方法--负责初始化servlet对象。

  Service方法--负责响应客户的请求。

  Destroy方法--当Servlet对象退出声明周期时,负责释放占有的资源。


为什么要使用Servlet?

  Servlet用来解析http协议,并把解析的结果请求数据库验证后,返回信息给前台jsp或者html页面。

  Servlet就像桥梁,跟控制器作用类似。

 

下面就是一个Servlet的用户验证的小例子:

1.      服务器拿到客户端传过来的数据,解析http协议,获取html发送过来的用户名和密码

2.      请求数据库验证,用户名和密码

3.      返回结果给前台html页面

 


Servlet调用过程


  

  咱结合实例来讲解一下Servlet调用流程:

  1.      web客户端发送http协议,request(用户名,密码)请求到tomcat。

  2.       tomcat有服务在这等着,首先访问的是web.xml

  <servlet-mapping>结点,提供了两个标签信息<servlet-name>和<url-pattern>。

  servlet-name:自己定义的servlet名称

  url-pattern: servlet的URL路径,相对于web应用程序上下文根路径。

(根路径就是

test_servlet

           WEB-INF

                    classes(存放编译文件)

                    lib(存放第三方的jar包,数据驱动等等)

                    web.xml   (存放servlet配置信息)



  通过url-pattern提供的路径可以找到Servlet,每个<url-pattern>对应一个<servlet-name>,根据<servlet-name>可以找到该路径对应的类<servlet-class>.

 

3.       找到servlet-class, tomcat就可以拿到servlet对它进行实例化,实例化成普通的java对象。

servlet和普通的类的区别是声明周期由tomcat容器管理。


4.       首先调用Servlet里面的service方法,判断请求模式:doGet还是doPost



如果选择doGet方法

 

  HttpServletRequest包装了客户端的相关信息,包括了表单信息。

  如果调用完成之后,验证完成,调用数据库就返回。告诉客户端这次验证是对还是错。

输出html给浏览器。HttpServletResponse,这个对象可以做响应的,通过这个对象可以把数据写给浏览器。getWriter拿到字符流,println打印到浏览器上。


总结

  现在才知道,之前的学.net MVC中的Controller里面拼接前台html字符串是怎么来的,Java里面的Servlet已经给出我们答案了!



  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 51
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值