• javaweb 使用element + vue 完善项目 servlet 优化


    我们先定义一个BaseServlet,继承HttpServlet 重写Service方法 (因为HttpServlet就是在Service方法里做的通过请求方式进行方法分发,我们就重写改成通过请求路径分发)

    根据资源路径进行方法分发,利用反射得到调用者的class字节码文件并调用对应方法

    public class BaseServlet extends HttpServlet {
        @Override
        protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            //1. 获取请求的路径
            String uri =req.getRequestURI(); //  /brand-case/brand/selectAll
            //2.获取最后一段路径  根据最后一个“/”的索引+1截取后面的字符串
            String methodName = uri.substring(uri.lastIndexOf("/") + 1);
    
            //3 执行方法
            // 获取BrandServlet 或者UserServlet的字节码对象class  谁调用,谁就是this
            Class cls = this.getClass();
            //获取方法Method对象
            try {
                Method method = cls.getMethod(methodName, HttpServletRequest.class, HttpServletResponse.class);
                method.invoke(this,req,resp);
            } catch (NoSuchMethodException | InvocationTargetException | IllegalAccessException e) {
                throw new RuntimeException(e);
            }
    
    
        }
    }

    其他的像 BrandServlet  或者 UserServlet 只需要继承BaseServlet并写各自的方法就可以了

    (需要在方法传递request跟response参数)

    @WebServlet("/brand/*")
    public class BrandServlet extends BaseServlet {
    
        public void selectAll(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
            System.out.println("Brand 的 selectAll 方法");
        }
        public void add(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
            System.out.println("Brand的add方法");
        }
    }

    今天在写selectByUser方法的时候,遇到了axios里面代码段无法被执行的情况

    if (resp.data == "false"){
        _this.$message({
            message:"未查询到您想要的数据",
            type:"error"
        })
    }

    因为在js中 false代表的是boolean类型

    我们传入的false是字符串就会导致if失效

    所以直接换成了_false就解决了该问题

  • 相关阅读:
    企业运营系统软件来固化流程管理
    蒋鑫鸿:9.8国际黄金最新操作建议,白银原油最新走势分析
    element-ui的tree组件获取父级节点渲染面包屑
    grep使用总结
    文件上传漏洞详解
    贵金属入门,有以下四个方法
    条件生成对抗网络(cGAN)在AI去衣技术中的应用探索
    Spring整合mybatis和junit
    Promise系列学习
    常见的一些Linux命令
  • 原文地址:https://blog.csdn.net/m0_73859807/article/details/127960867