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

posted @ 2018-01-22 00:37  猿上生活  阅读(507)  评论(0编辑  收藏  举报