文章目录
5.1 简介
-
Servlet是sun公司开发动态web的一门技术
-
sun在这些API中提供一个接口:Servlet,如果想开发servlet程序,只需要完成两个步骤:
- 编写一个类,实现servlet接口
- 把编写好的java类部署到web服务器中
把实现了Servlet接口的java程序叫做servlet
5.2 第一个Servlet程序
Servlet接口有两个默认的实现类:HttpServlet
1、构建一个普通的maven项目,删掉src目录,以后的学习在这个项目里面建立Moudel;这个空的工程就是Maven的主工程。
2、关于Maven父子功能的理解:
父项目中会有:
<modules>
<module>servlet01</module>
</modules>
父项目中java子项目可以直接使用
3、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>
- 将maven的结构搭建完整:java目录和resources目录
4、编写程序:
- 编写一个普通类
- 实现一个Servlet接口,继承HttpServlet
public class HelloServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter(); //响应流
out.println("hello");
}
}
5、编写Servlet的映射
为什么要映射? 我们写的Java程序要通过浏览器访问,而浏览器需要连接web服务器,所以我们需要在web服务中注册我们写的Servlet
<!--注册Servlet-->
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.tao.servlet.HelloServlet</servlet-class>
</servlet>
<!--请求路径-->
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
这里可以使用注解:如果使用注解的话需要将web.xml中metadata-complete改为false!!!!(如下第一行)
@WebServlet(name = "HelloServlet" ,urlPatterns = {
"/hello"})
public class HelloServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter(); //响应流
out.println("hello");