创建一个空的maven项目
构建一个普通的maven项目,删除里面的src目录,以后的学习就在这个项目里面创建moudel,这个空的工程就是maven的主工程。
我们尽量把所有的依赖都导入这个主工程里面,避免重复导入
导入依赖
maven仓库的网址
在上面搜索你想要的依赖包
然后添加到我们的dependencies的标签下面即可
HelloServlet
构建一个普通的Maven项目,删掉里面的src目录,以后我们的学习就在这个项目里面建立Moudel,这个空的工程就是Maven主工程
在父工程里面有一个
<modules>
<module>servlet-01</module>
</modules>
子项目有一个parent
<parent>
<artifactId>javaweb-01-servlet</artifactId>
<groupId>com.mmz</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
关于Maven父子工程的理解:父项目的jar包,子项目可以直接使用
再在子项目中创建java和resource
编写servlet
1)编写一个普通类
2)实现servlet接口
servlet接口有两个默认的实现类,我们直接使用HttpServlet,GenericServlet
package com.mmz.servlet;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
/**
* @Classname HelloServlet
* @Description TODO
* @Date 2020/12/16 14:51
* @Created by mmz
*/
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
ServletOutputStream outputStream = resp.getOutputStream();
PrintWriter writer = resp.getWriter();
writer.println("hello servlet");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
编写servlet的映射
为什么需要映射?
写的是java程序,但是要通过浏览器访问,浏览器需要连接web服务器,所以我们需要在web服务器中注册servlet,还需要给他一个浏览器能访问的路径
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.mmz.servlet.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
配置tomcat
注意:配置项目发布的路径