Java-Servlet

0、Servlet原理

1、使用servlet接口编写原生servlet实现类

--

复制代码
package com.example.javaweb01;

import javax.servlet.*;
import java.io.IOException;

public class MyServlet01 implements Servlet {
    //初始化
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        System.out.println("第一次使用Servlet类,会初始化这个类的对象,只实例化一次");
    }

    @Override
    public ServletConfig getServletConfig() {//当前servlet的配置信息
        return null;
    }

    //提供服务
    //用户需要的内容
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("真正处理用户请求的方法");
    }

    @Override
    public String getServletInfo() {//servlet的上下文信息
        return null;
    }

    //销毁
    //当停止web服务器的时候,就会调用这个方法来销毁servlet
    @Override
    public void destroy() {
        System.out.println("停止tomcat,会调用这个方法");
    }
}
servlet实现类
复制代码

--

复制代码
<?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是哪个Java类-->
    <!--告诉tomcat,现在有一个mys的servlet,这个类的位置在xxxxx-->
    <servlet>
        <servlet-name>mys</servlet-name>
        <servlet-class>com.example.javaweb01.MyServlet01</servlet-class>
    </servlet>
    

    <!--告诉tomcat 用户发送的请求地址/login交给哪一个servlet去处理-->
    <!--即:前端发送的请求地址交给哪个servlet去处理-->
    <servlet-mapping>
        <servlet-name>mys</servlet-name>
        <url-pattern>/login</url-pattern>
    </servlet-mapping>
    
</web-app>
web.xml配置
复制代码

--

2、继承HttpServlet类

--

复制代码
package com.example.javaweb01;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class MyServlet02 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("get方法走这里");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("post方法走这里");
    }
}
Servlet类
复制代码

--

复制代码
<?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是哪个Java类-->
    <!--告诉tomcat,现在有一个mys的servlet,这个类的位置在xxxxx-->
    <servlet>
        <servlet-name>mys</servlet-name>
        <servlet-class>com.example.javaweb01.MyServlet01</servlet-class>
    </servlet>
    
    <servlet>
        <servlet-name>mys2</servlet-name>
        <servlet-class>com.example.javaweb01.MyServlet02</servlet-class>
    </servlet>

    <!--告诉tomcat 用户发送的请求地址/login交给哪一个servlet去处理-->
    <!--即:前端发送的请求地址交给哪个servlet去处理-->
    <servlet-mapping>
        <servlet-name>mys</servlet-name>
        <url-pattern>/login</url-pattern>
    </servlet-mapping>
    
    <servlet-mapping>
        <servlet-name>mys2</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
</web-app>
web.xml配置
复制代码

--

复制代码
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
    <title>JSP - Hello World</title>
</head>
<body>
    <h1>你好提交的第一个web项目</h1>
    <form action="hello" method="post">
        <input type="submit">
    </form>
</body>
</html>
form表单
复制代码

--

3、servlet3.0使用注解简化配置

 

posted @   船长华莱士  阅读(34)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示