8. Servlet入门 – 使用Maven创建javaweb工程、使用web.xml配置路径、使用注解方式配置路径
Servlet入门需求说明
上一章节,我们讲解了一下基础的 Idea 集成 Tomcat,并且也说明了一下如何添加 jar 包,创建 web 项目工程。
但是更好的方式是采用 Maven 来管理 jar 包依赖,所以下面我们来使用 Maven 创建 javaweb 工程的方式,来演示Servlet入门。
1. 不使用骨架 – 创建javaweb工程
1.1 选择Maven创建项目
1.2 设置项目信息
1.3 创建好的工程目录结构。缺少 webapp
1.4 使用JBLJavaToWeb插件
1.5 引入 junit 以及 servlet 依赖
<!-- 设置依赖 -->
<dependencies>
<!--引入junit的依赖 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!--引入servlet的依赖-->
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
2. web.xml 配置文件方式实现 Servlet
2.1 创建com.web包,并创建一个类实现Servlet接口
2.2 实现 service 方法,专门用来处理请求和响应
2.3 到 web.xml 中去配置 servlet 程序的访问地址
<!-- servlet标签给Tomcat配置Servlet程序 -->
<servlet>
<!--servlet-name标签 Servlet程序起一个别名(一般是类名) -->
<servlet-name>HelloServlet</servlet-name>
<!--servlet-class是Servlet程序的全类名-->
<servlet-class>com.web.ServletDemo1</servlet-class>
</servlet>
<!--servlet-mapping标签给servlet程序配置访问地址-->
<servlet-mapping>
<!--servlet-name标签的作用是告诉服务器,我当前配置的地址给哪个Servlet程序使用-->
<servlet-name>HelloServlet</servlet-name>
<!--
url-pattern标签配置访问地址
/ 斜杠在服务器解析的时候,表示地址为:http://ip:port/工程路径
/hello 表示地址为:http://ip:port/工程路径/hello
-->
<url-pattern>/hello</url-pattern>
</servlet-mapping>
2.4. 配置tomcat 以及设置工程路径
2.5 启动 tomcat ,访问 servlet
访问 http://localhost:8080/demo01/hello
3.使用 注解配置路径 的方式 实现 Servlet
在上面我们已经使用 web.xml 配置 Servlet 的访问路径,那么下面我们再换一种方式,使用 注解的方式来配置路径。
3.1 创建 ServletDemo2 类,实现Servlet 接口
3.2 实现 service 方法,处理请求和响应
3.3 使用 WebServlet 注解的方式 配置 Servlet 的访问路径
3.3.1 查看 WebServlet 源码,看看注解要填什么值
3.3.2 使用 urlPatterns 可以设置多个访问路径
@WebServlet(urlPatterns = {"/demo2", "/demo2_test"})
public class ServletDemo2 implements Servlet {
开启 tomcat 服务测试如下:
-
首先访问第一个路径 /demo2
, 访问:http://localhost:8080/demo01/demo2
-
再访问第二个路径 /demo2_test
,访问:http://localhost:8080/demo01/demo2_test
3.3.3 使用 value 设置多个访问路径
在 Servlet 设置如下:
@WebServlet(value = {"/demo2", "/demo2_test"})
public class ServletDemo2 implements Servlet {
3.3.4 使用 value 来设置路径的话,可以省略不写
3.3.5 使用 value 只设置单个路径的话,可以省略花括号 {}
可以从运行来看,我们一般给路径只设置一个,而此时则可以简写如下:
@WebServlet("/demo2")
public class ServletDemo2 implements Servlet {
4.总结
4.1 疑问:既然已经有了 注解配置 路径的方式,那么是不是就不需要使用 xml 的配置方式了呢?
注解配置路径 的方式的确方便,但是只能配置我们自己写的代码。如果我们需要使用一些框架的 Servlet,就无法去写注解了。
这个时候就要使用 web.xml 的方式去配置。
4.2 创建Servlet配置路径的方式
-
xml方式 -
创建一个类实现Servlet接口 -
在web.xml配置servlet -
注解方式 -
创建一个类实现Servlet接口 -
在类上面添加@WebServlet(“访问的路径”)
原文始发于微信公众号(海洋的渔夫):8. Servlet入门 – 使用Maven创建javaweb工程、使用web.xml配置路径、使用注解方式配置路径
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/34687.html