把实现了servlet接口的java程序叫做,Servlet
Servlet接口Sun公司有两个默认的实现类:HttpServlet(先继承这个),GenericServlet(这个先不用管)
1.构建一个普通的Maven项目,删掉里面的src目录,以后我们的学习就在这个项目里面建Module,这个空的工程就是Maven主工程
2.关于Maven父子工程的理解:
父项目中会有
<modules> <module>servlet-01</module> </modules>
子项目会有
<parent> <artifactId>javaweb-02-servlet</artifactId> <groupId>com.kuang</groupId> <version>1.0-SNAPSHOT</version> </parent>
父项目中的jar包,子项目可以直接使用,
son extends father
3.Maven环境优化
1.修改子项目下的web.xml为最新的
2.将maven的结构搭建完整
4.编写一个Servlet程序
1.编写一个普通java类
2.实现Servlet接口,这里我们直接继承HttpServlet
public class HelloServlet extends HttpServlet { //由于get或者post只是请求实现的不同的方式,可以相互调用,业务逻辑都一样; @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 { } }
5.编写Servlet映射
为什么需要映射:我们写的是java程序,但是要通过浏览器访问,而浏览器需要连接web服务器,所以我们需要在web服务器中
注册我们写的Servlet,还需要给它一个浏览器能够访问的路径;(在子工程下的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"> <!--注册Servlet--> <servlet> <servlet-name>hello</servlet-name> <servlet-class>com.kuang.servlet.HelloServlet</servlet-class> </servlet> <!--Servlet的请求路径--> <servlet-mapping> <servlet-name>hello</servlet-name> <url-pattern>hello</url-pattern> </servlet-mapping> </web-app>
6.配置Tomcat
注意:配置项目发布的路径就可以了
7.启动测试