本专栏主要是记录学习JavaWeb中的Servlet相关知识点,如果刚开始学习Java的小伙伴可以点击下方连接查看专栏,本专栏为作者第一个付费专栏,如果觉得不错的可以多多支持
本专栏地址:Servlet
Java入门篇: Java基础学习篇
Java进阶学习篇(持续更新中):Java进阶学习篇
本系列文章将带领刚开始学习Servlet的小伙伴从0构建Servlet项目,并进行深入了解,明白其原理所在,作者认为知其然要知其所以然才能将知识点学的更加通透,预计本系列会有以下文章,在全部更新完成后可以点击连接查看
本专栏为付费专栏,这篇仅为试读,如果觉得不错的话可以多多支持~
文章名称 | 文章地址 |
---|---|
Servlet简单入门——构建第一个Servlet项目 | |
Servlet执行流程 | |
Servlet生命周期 | |
Servlet体系结构 | |
Servlet urlPattern配置 | |
XML 配置方式编写 Servlet |
本文将讲述如何 从0构建一个Servlet项目 以及Servlet的执行流程
这个在之前已经讲述过如何使用骨架去创建一个Web项目,推荐大家使用骨架进行创建,这里就不多加赘述了
这里需要在pom.xml文件中导入Servlet
的坐标, provided指的是在编译和测试过程中有效,最后生成的war包时不会加入,因为Tomcat的lib目录中已经有servlet-api这个jar包,如果在生成war包的时候生效就会和Tomcat中的jar包冲突,导致报错
<dependencies>
<dependency>
<groupId>javax.servletgroupId>
<artifactId>javax.servlet-apiartifactId>
<version>3.1.0version>
<scope>providedscope>
dependency>
dependencies>
这里的实体类只需要继承Savlvet接口,然后出现爆红后不要慌张,直接使用Alt+Enter
快捷键,选择第一个:重新接口中的所有方法即可
为了更直观的看到Servlet被访问了,我们在service
方法中写一条输出语句,service方法在后续会讲解的,现在只需要知道在这里写输出语句就能直观看到是否被执行了
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("Servlet test");
}
这里需要在类前配置Servlet访问路径,这样打开URL后就可以输入路径访问,然后看到Servlet是否被执行了。此处我们可以摁住Ctrl
再点击WebServlet
查看一下源码
这里可以很清楚的看到,value
和urlPatterns
都是一样的效果,为了代码的可读性,知道此处写的是Servlet访问路径,我们就使用urlPatterns = "/路径"
来配置路径,建议使用类名相似的名字,便于辨识,比如这里我的类名是ServletTest,那么我的路径写的就是/test
@WebServlet(urlPatterns = "/test")
这里我们需要安装插件:MavenHelper
,安装完成后右键点击项目,会有一个RunMaven
的选项,再选择里面的Tomcat7:run
就可以执行Servlet
在成功执行后,会在控制台输出一个URL(如下图所示),我们可以选择复制黏贴到浏览器打开,也可以直接点击打开,不过这个URL并不是我们所要访问的路径,因为之前配置了Servlet访问路径,所以在浏览器打开以后,还需要自己再添加路径,最终访问的路径应该为 http://localhost:80/web-testServlet/test
( /test
为自己设置的Servlet访问路径,可能与我不一定一样)
这里建议大家开个分屏,这样便于查看Servlet执行的巧妙之处,当我们打开网址的时候,就会在控制台输出刚刚我们编写的输出语句,当我们每一次刷新页面的时候都会输出语句,也证明我们的Servlet被成功执行了
可能有细心的小伙伴发现了在右边的页面的地址栏,并没有端口号,但是在控制台输出的URL里面有个端口号80,所以这里有个小知识:端口号为80的时候,就可以省略不写,也可以成功执行,但Servlet默认端口号是8080,在访问时一定要写端口号,否则没办法成功执行
接下来将讲述Servlet的执行流程,有任何问题可以留言评论