一文了解Servlet(2)
一文了解Servlet

这样我们发现,只有访问网页,Servlet才会进行初始化,那如何在服务器启动的时候就加载Servlet
解决方法:为注解添加参数
@WebServlet(value = "/demo01",loadOnStartup = 1)
- 负整数:第一次访问时创建Servlet对象
- 0或正整数:服务器启动时创建Servlet对象,数字越小优先级越高
4、Servlet体系结构

大部分开发B/S架构的web项目,都是针对HTTP协议,所以我们自定义Servlet,会继承HttpServlet
@WebServlet("/demo03")
public class Demo3 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("这是demo3,doGet");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("demo3 doPost");
}
}
- 要想发送一个GET请求,请求该Servlet,只需要通过浏览器发送
http://localhost:8080/web-demo/demo4,就能看到doGet方法被执行了 - 要想发送一个POST请求,请求该Servlet,单单通过浏览器是无法实现的,这个时候就需要编写一个form表单来发送请求,在webapp下创建一个
a.html页面,内容如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>get & post</title>
</head>
<body>
<h1>GET</h1>
<form action="login" method="get">
用户:<input type="text" name="username"><br>
密码:<input type="password" name="password"><br>
<input type="submit" value="登录">
</form>
<form action="login" method="post">
用户:<input type="text" name="username"><br>
密码:<input type="password" name="password"><br>
<input type="submit" value="登录">
</form>
</body>
</html>
启动测试,即可看到doPost方法被执行了。
5、urlPatern配置
Servlet类编写好后,要想被访问到,就需要配置其访问路径(urlPattern)
其实就是前面的value,两个属于等价关系,但是不能同时存在
@WebServlet(value = "/demo01",loadOnStartup = 1)
一个Servlet,可以配置多个urlPattern
urlPattern配置规则:
1、精确匹配
/**
配置路径
*/
@WebServlet(value = "/order/demo04")
访问路径:localhost:9999/Tomcat_war_exploded/order/demo04
2、目录匹配
/**
配置路径
*/
@WebServlet(value = "/order/*")
访问路径:localhost:9999/Tomcat_war_exploded/order/任意
表示order目录下的所有路径都能够访问
3、扩展名匹配
/**
配置路径
*/
@WebServlet(value = "*.do")
访问路径:localhost:9999/Tomcat_war_exploded/order/任意.do
4、任意匹配
/**
配置路径
*/
@WebServlet(value = "/*")
访问路径:localhost:9999/Tomcat_war_exploded/任意
访问优先级问题
- 前缀匹配高于后缀匹配
- 匹配原则:最佳匹配原则,哪个接近就访问哪个
- 优先级顺序:精确匹配>目录匹配>任意匹配>后缀匹配
6、XML编写Servlet
Servlet从3.0版本后开始支持使用注解配置,3.0版本前只支持XML配置文件的配置方法
步骤:
- 编写Servlet类
- 在web.xml中配置该Servlet
演示
编写Servlet类
public class demo5 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("这是demo5,doGet");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("这是demo5, doPost");
}
}
在web.xml中配置该Servlet
<!--给serlvet取名字-->
<servlet>
<servlet-name>demo5</servlet-name>
<servlet-class>org.example.servlet.demo5</servlet-class>
</servlet>
<!--根据servlet名字配置路径-->
<servlet-mapping>
<servlet-name>demo5</servlet-name>
<url-pattern>/demo5</url-pattern>
</servlet-mapping>
这种配置方式和注解比起来,确认麻烦很多,所以建议大家使用注解来开发。
但是大家要认识上面这种配置方式,因为并不是所有的项目都是基于注解开发的。
以上IT袋网网介绍的一文了解Servlet的全面方法讲解,希望为您起一个抛砖引玉袋作用,能解决您生活中的问题吧。
相关阅读
-
个人网站的制作模板 制作网站和网页的教学
为大家说一说个人网站的制作模板和制作网站和网页的教学的内容,相关内容具体如下: 随着个人创业的流行,很多个人也需要一个比较详细的网站来展示自己,开展个人业务,或者积累粉丝
-
FIT AP的原理及优势
一篇IT技术小知识,为您介绍方面的讲解,具体内容如下: 随着无线网络技术的不断发展,新型的FIT AP开始逐渐崭露头角。 FIT AP是“Fit(适配)”的缩写,它的设计理念是更加智能和灵活地适
-
OSI七层网络模型会话层详解 会话层主要功能有哪些
正文核心导读:OSI七层网络模型会话层详解的电脑方面的小经验,继续往下看吧! 会话层是OSI模型中的第5层,位于表示层和传输层之间,主要负责建立、管理和终止应用程序之间的会话。 会
-
OSPF广播网络类型特点以及工作原理
文章导读:OSPF广播网络类型特点以及工作原理方面的介绍,接下来分享详细内容。 特点 广播网络类型是指在网络中,所有的路由器都直接相连,并且可以互相通信。 在广播网络中,路由器之


