Servlet
Servlet简介
- Servlet是sun公司开发动态web技术
- Sun在这些API中提供一个接口叫做Servlet。开发Servlet需要两个小步骤:
- 编写一个类,实现Servlet接口
- 把开发好的Java部署到web服务器中
把实现了Servlet接口的Java程序叫做Servlet
HelloServlet(编写一个Servlet程序并发布)
-
构建一个普通Maven项目名为Servlet,删掉里面的src目录,以后学习在这个项目里创建Moudel;这个空的工程就是Maven主公程。
(这里Maven没安装配置过的可以参照我的另一篇文章:Maven的安装配置并在IDEA中创建Maven项目)
-
在Servlet项目下的pom.xml里面添加所需要的依赖,例如Servlet,JSP
<dependencies> <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api --> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>javax.servlet.jsp-api</artifactId> <version>2.3.3</version> <scope>provided</scope> </dependency> </dependencies>
-
在Servlet中创建一个Servlet_01的含有WebApplication的模块
-
在Servlet_01的pom.xml中添加父项目
有的可能会自动生成一个父项目,没有的话就自己手动添加一个<parent> <artifactId>Servlet</artifactId> <groupId>org.example</groupId> <version>1.0-SNAPSHOT</version> </parent>
同时在Servlet中的pom.xml会自动生成一个子项目
<modules> <module>servlet_01</module> </modules>
父项目中的java子项目可以之间使用
son extends father
-
Maven环境优化
修改web.xml为最新的
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0" metadata-complete="true"> </web-app>
-
编写一个Servlet程序
-
在servlet_01下main目录下创建一个java包和一个resources包。然后在java包下创建一个自己的包,例如com.joe.servlet
-
编写一个普通类。在com.joe.servlet下新建一个HelloServle类
-
实现Servlet接口。在HelloServlet类中继承HttpServlet,并重写doGet和doPost方法
package com.joe.servlet; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; public class HelloServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { PrintWriter writer = resp.getWriter(); writer.print("Hello Servlet!"); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { super.doPost(req, resp); } }
-
-
编写Servlet映射
在web.xml添加Servlet:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0" metadata-complete="true"> <!--注册Servlet--> <servlet> <servlet-name>hello</servlet-name> <servlet-class>com.joe.servlet.HelloServlet</servlet-class> </servlet> <!--Servlet的请求路径--> <servlet-mapping> <servlet-name>hello</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping> </web-app>
-
配置tomcat
-
启动测试
博客文章说明
本博客核心部分来自b站狂神说JavaWeb视频,本人在视频的基础上,进一步将步骤详细化来方便新手学习。本人也是一名正在学习的小白,博客中若有那些不对的地方还请各位大佬指点一二。