JavaWeb基础学习Servlet

本文介绍了JavaWeb中Servlet的基础学习,包括三种创建Servlet的方式、运行流程、常用方法。重点讨论了乱码问题的原因和解决方法,如设置请求编码、处理不同请求方式的乱码。同时,讲解了请求转发、响应数据的发送方式以及重定向,并对比了重定向与请求转发的区别。
摘要由CSDN通过智能技术生成

一、流程实现

/**
* 实现Servlet
*  1. 创建普通Java类
*  2. 实现Servlet的规范,继承HttpServlet类
*  3. 重写service方法,用来处理请求
*  4. 设置注解,指定访问的路径
*/

//@WebServlet(name = "Servlet01",value = "/ser01")
//@WebServlet(name = "Servlet01",value = {"/ser01","/ser001"})
//@WebServlet(name = "Servlet01",urlPatterns = "/ser01")
//@WebServlet(name = "Servlet01",urlPatterns = {"/ser01","/ser001"})
@WebServlet("/ser01") // 路径中的"/"不要忘记写!
    public class Servlet01 extends HttpServlet {
   
        @Override
        protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
   
            // 打印内容在控制台
            System.out.println("Hello Servlet!");
            // 通过流输出数据到浏览器
            resp.getWriter().write("Hello Servlet!");
        }
    }

二、三种方式

1、继承GenericServlet类

/**
 * 继承GenericServlet类
 */
@WebServlet("/ser02")
public class Servlet02 extends GenericServlet {
   
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
   
        System.out.println("继承GenericServlet类...");
    }
}

2、实现Servlet接口

/**
 * 实现Servlet接口
 */
@WebServlet("/ser03")
public class Servlet03 implements Servlet {
   
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
   

    }

    @Override
    public ServletConfig getServletConfig() {
   
        return null;
    }

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
   
        System.out.println("实现Servlet接口...");
    }

    @Override
    public String getServletInfo() {
   
        return null;
    }

    @Override
    public void destroy() {
   

    }
}

3、重写get、post方法

@WebServlet("/ser04")
public class Servlet04 extends HttpServlet {
   
    /*@Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("service...");
    }*/

    /**
     * Get请求调用的方法
     * @param req
     * @param resp
     * @throws ServletException
     * @throws IOException
     */
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
   
        System.out.println("Get请求...");
        // 代码
    }

    /**
     * Post请求调用的方法
     * @param req
     * @param resp
     * @throws ServletException
     * @throws IOException
     */
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值