servlete基础

时间:2023-03-08 17:11:25

1.  使用servlet需要继承HttpServlet

Servlet 生命周期

Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循的过程:

  • Servlet 通过调用 init () 方法进行初始化。
  • Servlet 调用 service() 方法来处理客户端的请求。(用来接收客户端的请求并且分辨属于何种类型的请求get或者post等,通常我们无需自己写,父类已经帮我们做好)
  • Servlet 通过调用 destroy() 方法终止(结束)。
  • 最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的。

servlet是早期进行Javaweb的编程 在后来的各种框架出来后(struts,springmvc),也就关注的少了,但是如今的框架究其底层还是根据servlet实现的,可以说是深度的封装。

基于servlet实现的一个简单web项目    参照:https://blog.csdn.net/maple082/article/details/52904123 实现增删改查

使用servlet需要在web.xml中进行映射配置

servlet-mapping是用于servlet的路径映射配置,其中url-pattern为指定的映射拦截路径。

在SpringMVC中,url-pattern指定了spring需要拦截派发的路径。

url-pattern有5种配置模式:

(1)/xxx:完全匹配/xxx的路径

(2)/xxx/*:匹配以/xxx开头的路径,请求中必须包含xxx。

(3)/*:匹配/下的所有路径,请求可以进入到action或controller,但是转发jsp时再次被拦截,不能访问jsp界面。

(4).xx:匹配以xx结尾的路径,所有请求必须以.xx结尾,但不会影响访问静态文件。

(5)/:默认模式,未被匹配的路径都将映射到刺servlet,对jpg,js,css等静态文件也将被拦截,不能访问。

该映射路径是 在去掉上下文路径的剩余全路径   即去掉:request.getContextPath() 该路径为工程的名字

例如:

servlete基础

servlete基础

该form提交 url-pattern是匹配不到该url的

所以修改为:

  <servlet-mapping>
    <servlet-name>servlet2</servlet-name>
    <url-pattern>/Login/login</url-pattern>
  </servlet-mapping>

servlet修改为:

servlete基础

这种方法名传递方式是基URI的 但是也可以用上面的那个servlet项目 使用   ( ?methodName=?) 该方式进行

关于servlet的url-pattern规则也可查看: https://www.cnblogs.com/canger/p/6084846.html