servlet

sevlet是用于开发动态网站的一个技术
servlet 是运行在 Web 服务器(tomcat上)中的小型 Java 程序。servlet 通常通过 HTTP(超文本传输协议)接收和响应来自 Web 客户端的请求。servlet可以接收请求,接收请求后会给客户端一个响应.
由于servlet是一个接口 所以我们通过查看文档 找到他的实现子类 httpservlet 定义一个类继承httpservlet .需要重写2个方法一个是doget方法和dopost方法 doget方法用来处理get请求 dopost方法处理post请求
servlet创建后需要在web.xml文件配置 类似于Android中mainActivity—可以创建n个servlet,到底用哪个来解决请求,需要在web.xml中配置一下
因为一个应用可以有多个servlet,如果不配置不知道用哪个servlet来处理请求

代码实现

1-创建一个类,使用这个类继承HttpServle类

@MultipartConfig
public class HelloWorldServlet extends HttpServlet {

    private static final long serialVersionUID = 1L;

    //doGet处理客户端get的请求
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //拿到一个字符输出流
        PrintWriter writer = resp.getWriter();
        //向客户端输出一个数据
        writer.write("aabc");

    }

    /**
     * doPost处理客户端post请求
     */
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

    }
}

2-servlet创建后需要在web.xml文件配置

servlet-name代表当前的名字(可可随意起名(最好见名知意))
servlet-class:具体指定哪个servlet,(完整的包名+类名)
url-pattern:浏览器访问的具体路径,先写个/,再写(随意些)映射地址


    
        hellworld
        com.itheima.day08.HelloWorldServlet
    
    
    
        hellworld
        /hello
    

**urlpattern的写法 **

1)完全路径匹配   /life 
2)目录匹配  /*
3)扩展名匹配  *.do  *.action 
优先级:1)完全路径匹配 > 2)目录匹配>3)扩展名匹配 

    lifeservlet
    /life
    /*
    *.do

3-运行到服务器上

把工程跑到服务器上,工程就集成到了tomcat里,tomcat启动,默认访问(在web.xml中的配置中的欢迎页面)

servlet_第1张图片
Paste_Image.png

servlet执行流程

回车—向服务器发请求—先把后面的映射解析出来—去找web.xml配置文件匹配—找url-pattern--找到后—对应的名字servlet-name—再通过名字找到具体的servlet

你可能感兴趣的:(servlet)