0x00 教程内容
- 创建Servlet
- 配置Servlet
0x01 创建Servlet
1. 方式一:直接新建Servlet类
创建Servlet非常简单,只需要新建一个类,然后继承 HttpServlet
类就可以了:
public class LoginServlet extends HttpServlet {
2. 方式二:使用IDEA新建
比如这里我新建一个 Servlet
:
新建之后是这样:
package com.java.servlet; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet(name = "ProductServlet") public class ProductServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } }
0x02 配置Servlet
但是创建好 Servlet
之后,其实还是要配置好它的,不然就无法在项目中使用。
1. 方式一:配置 web.xml 文件
<!--设置servlet--> <servlet> <servlet-name>loginServlet</servlet-name> <servlet-class>com.java.servlet.LoginServlet</servlet-class> </servlet> <!--设置servlet的url--> <servlet-mapping> <servlet-name>loginServlet</servlet-name> <url-pattern>/login</url-pattern> </servlet-mapping>
说明:
其实上面使用IDEA创建Servlet,会默认配置好 @WebServlet
注解的name属性:
@WebServlet(name = "ProductServlet")
1. 方式二:使用注解
使用注解方式非常简单,只需要写上注解的属性就可以了:
@WebServlet(name = "login", urlPatterns = "/login")
直接在 servlet
上面加上注解,如图:
以上方式其实可以省略成这样:
@WebServlet("/login")
其实完整的写法是,以上是省略写法:
@WebServlet(urlPatterns = "/login")
如果你把 url
参数配置错的话,比如把斜杠去掉配置成这样:
@WebServlet(urlPatterns = "login")
其实是会报以下错误的:
Caused by: java.lang.IllegalArgumentException: Invalid <url-pattern> login in servlet mapping at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:3184) at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:3159)
其实就是说 url
配置不正确。
0xFF 总结
- 使用注解的方式非常简单,直接写个
url
就可以了,如:@WebServlet("/login")
- Servlet是Web开发的基础,掌握了基础,后面学习框架就会轻松很多,其实框架的底层就是这些基础,只是越来越简单而已,比如减少很多繁琐的操作,比如更加简单等等。
- 感谢支持!