美文网首页
BaseServlet简化Servlet

BaseServlet简化Servlet

作者: Restart白蓝 | 来源:发表于2020-12-14 19:19 被阅读0次

一般使用场景在还没有MVC框架项目中,没得strus2 和spring mvc 等MVC框架使用,就当是基础复习。

一、创建一个base继承HttpServlet

package cn.com.servlet;
 
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
/**
 *
 *一个类多个请求处理方法,每个请求处理方法的原型与service相同!
 *原型 = 返回值类型 + 方法名称 + 参数列表
 */
public class BaseServlet extends HttpServlet {
        
        //重写Service方法
        @Override
        protected void service(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            /**
             * 1.获取method参数,它是用户想调用的方法
             * 2.把方法名称变成Method类的实例对象
             * 3.通过invoke()来调用这个方法
             */
            String methodName = request.getParameter("method");
            Method method = null;
            /**
             * 2.通过方法名称获取Method对象
             */
            try {
                method = this.getClass().getMethod(methodName, HttpServletRequest.class,HttpServletResponse.class);
            } catch (Exception e) {
                // TODO Auto-generated catch block
                throw new RuntimeException("您要调用的方法:"+methodName+"它不存在!",e);
            } 
            
            /**
             * 3.通过method对象来调用它
             */
            try {
                method.invoke(this, request,response);
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
        }

二、其他类使用只需要继承

package servlet;

import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/user")
public class UserServlet extends BaseServlet {

    public void add(HttpServletRequest request, HttpServletResponse response){
        System.out.println("执行了添加方法");
    }

    public void update(HttpServletRequest request, HttpServletResponse response){
        System.out.println("执行了更新方法");
    }
}

三、请求地址

http://localhost:8080/user?method=add

相关文章

  • BaseServlet简化Servlet

    一般使用场景在还没有MVC框架项目中,没得strus2 和spring mvc 等MVC框架使用,就当是基础复习。...

  • 八、Servlet 3.0注解

    Servlet 3.0注解 在Servlet 3.0之后,为了简化Servlet开发,Servlet的API,提供...

  • Servlet 的相关知识梳理

    1. Servlet知识脉络梳理 简化版Servlet知识脉络梳理 详细版Servlet知识脉络梳理详细版 2....

  • JSP入门知识

    JSP 全称 java servlet page 相当于简化的servlet(SUN公司开发) jsp产生原因 s...

  • JSP

    简介:JavaServerPage,java服务器端网页,本质是一个Servlet,用于简化Servlet编写。 ...

  • MVC框架设计实现及SpringMVC源码分析

    SpringMVC基础 Spring MVC本质是对 servlet的封装,简化了 Servlet的开发 经典三层...

  • 2018-03-29

    Java中基于反射技术的BaseServlet

  • java笔记2---jsp

    概念 jsp是一种简化的servlet 有人说servlet是java里面嵌入html,jsp是html里面嵌入j...

  • JSP与MVC

    JSP全名为Java Server Pages,百科上介绍它根本上是一个简化的Servlet设计。Servlet(...

  • SpringBoot自动装配

    SpringBoot的优点 独立运行。内嵌servlet、tomcat、jetty容器简化 Maven 配置自动配...

网友评论

      本文标题:BaseServlet简化Servlet

      本文链接:https://www.haomeiwen.com/subject/tkcbgktx.html