目录
6.Servle
6.1Servle简介
6.2HelloServle
6.3 运行原理
6.4Mapping问题
6.Servle
6.1Servle简介
Servle是sun公司开发动态web的技术sun公司在这些API中提供了一个接口叫做Servle,如果想要开发一个Servle只需要完成两个小步骤
编写一个类实现Servle把开发好的java类部署到web服务器中
把实现了Servle接口的java程序叫做,Servle
添加Servle依赖:
javax.servlet javax.servlet-api4.0.1 provided javax.servlet.jsp jsp-api2.2 provided
6.2HelloServle
Servle接口sun公司提供了两个类:HttpServle和GenericServlet
- 创建一个普通的Maven项目,删掉里面的src目录,以后我们的学习就在着里面建立Moudel;这个空的工程就是Maven的主工程关于Maven父子项目理解:
父项目会有:
sevle
子项目会有:
javaweb-02-servle org.example 1.0-SNAPSHOT
父项目的java子项目可以直接使用
3.Maven环境优化
1.编写一个普通类
2.将Maven结构搭建完整
4.编写一个Servlet程序
1.编写一个普通类
2.实现一个Servlet接口这里直接继承HttpServlet
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.println("HelloServlet");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPost(req, resp);
}
}
5.编写Servlet的映射
为什么需要映射:我们写的是java程序但是要通过浏览器访问,而浏览器需要链接web服务 器所以我们需要在web服务器中注册我们写的Servlet,还需给他一个浏览器能够访问的路径
hello HelloServlet hello /hello
6.配置Tomact
7.启动测试 OK;
6.3 运行原理
Servle是由web服务器调用,web服务器在受到浏览器请求之后会:
6.4Mapping问题
1.一个Servlet可以指定一个映射路径
hello /hello
2.一个Servlet可以指定多个映射路径
hello HelloServlet hello /hello hello /hello1 hello /hello2 hello /hello3 hello /hello4 hello /hello5
3.一个Servlet可以指定通用映射路径
hello /hello/*
4.默认路径请求
hello /*
5.指定一些后缀或者前缀等
hello *.tangmingyong
6.优先级问题
指定了固有的映射路径优先级最高,如果找不到则会走默认的处理请求
error ErrorServlet error /*



