Servlet
Servlet就是一个接口,有两个默认的实现类:
- HttpServlet
- GenericServlet
如果想要开发一个Servlet程序,需要完成两个步骤:
- 编写一个类,实现Servlet接口。
- 把开发好的Java类部署到web服务器中。
把实现了Servlet接口的Java程序叫做:Servlet
创建一个Servlet程序
-
创建maven项目(不用模板的)
-
删掉src文件夹,作为maven的主工程,在主工程里面建立moudle,把依赖都放在主工程的pom.xml文件里。
当在父工程下创建子工程后,两个工程的pom.xml文件中会分别出现
- 子项目会有
<parent>
<artifactId>javaweb-02-servlet</artifactId>
<groupId>com.qk</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
和
- 父项目会有
```xml
<modules>
<module>javaweb-02-servlet-01</module>
</modules>
- 父项目中的jar包,子项目可以直接使用,但父项目不能使用子项目中的,相当于 :
son extends father
- 更换子项目(不干净的)web.xml文件中的头文件,升级为最新的版本(最好以Tomcat的版本为准)
- 将子项目的结构搭建完整,在src/main下增加Java包和resources包
- 在Java包下建立包结构com.qk.servlet
- 添加HelloServlet类继承HttpServlet
- tips:ctrl+鼠标左键:点击函数名,就可以跳转到源码
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("进入doGet方法");
PrintWriter writer = resp.getWriter();
writer.print("hello,servlet-02");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
}
- 编写Servlet的映射(在Web.xml中)
<!-- 注册Servlet-->
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.qk.servlet.HelloServlet</servlet-class>
</servlet>
<!-- Servlet的请求路径-->
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/s2</url-pattern>
</servlet-mapping>
- 为什么需要映射:我们写的是JAVA程序,但是要通过浏览器访问,而浏览器需要连接Web服务器,所以我们需要在Web服务中注册我们写的Servlet,还需要给他一个能够访问的路径
-
配置Tomcat并启动
-
结果
------------------------------------------------------------------