• Servlet简单实现请求分发(类thinkphp5)


    Servlet简单实现请求分发(类thinkphp5)

    1.写请求分发的原由

      今天晚上笔者在使用java的servlet写博客网站的时候,想实现MVC开发模式,然后就发现,一个请求的动作就要写servlet实现类,这也太麻烦了吧,于是就在想,可不可以一个contorller控制器中实现多个请求,像thinkphp5中的路由方式(因为笔者之前是搞php开发的,对tp5的这种路由写法比较有感觉/模块名/控制器名/方法名),于是简单不成熟的类thinkphp5的路由分发就出来了。

    2.使用

       ①配置文件:

        每一个控制器的命名规则 首字母大写 与之相对应的web.xml文件中的url-pattern   书写规则/模块名/控制器名/*        其中java文件中的控制器的名要与配置文件的一样(首字母控制器是大写,配置文件是小写)

        例如:

          Login类 他所对应的配置文件就是/admin/login/*

              

      再就是配置一个key-value  参数 规则是:    模块名:控制器所在的全包名      其中一个模块中控制器全放在一个包中   (以便于反射使用方便)

       

    ②类的书写

        要继承Controller类   

        路由中的方法名随意  但是参数必须要是HttpServletRequest request, HttpServletResponse response   返回值String类型   ,转发 return view();   重定向return redirect();   其他就是return null;

                

    ③view方法介绍(用于转发)

        无参:会自动寻找view/模块名/控制器名/文件夹下的  方法名.jsp

        有参:自定义要转发的全路径文件

    ④redirect方法介绍:(用于重定向)

        参数String类型:  要重定向的路由

     3.路由使用  

      http://localhost/MyTest/admin/register/delete

      模块名/控制器名/方法名

    最后附上源码:

    欢迎大佬指正(笔者小白):github

  • 相关阅读:
    OGG常用命令
    postgres psql常用命令学习笔记
    oracle DG搭建方式两种总结
    配置rhel系统kdump安装RHEL的debuginfo软件包
    oracle开机自启,监听自启,任意秒crontab
    cx_Oracle.DatabaseError: DPI-1047: 64-bit Oracle Client library cannot be loaded 解决方法
    rhel | centos7上配置python3环境和pip
    shared_pool知识点整理
    记一次性能测试实践3-单接口压测
    我是如何做性能测试-文档收集并深入学习
  • 原文地址:https://www.cnblogs.com/xuzhaocai/p/8326213.html
Copyright © 2020-2023  润新知