热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

远离框架,实现自己REST风格的Servlet框架(一)

为什么80%的码农都做不了架构师?1、设计目标看过很多别人针对Rest风格框架的评论,有吐槽的,也有褒奖的,自己认为这

为什么80%的码农都做不了架构师?>>>   hot3.png

1、设计目标

看过很多别人针对Rest风格框架的评论,有吐槽的,也有褒奖的,自己认为这就是一种软件领域的风尚,就像如某个冬天雪地棉很流行一样,额或者说像禽流感很流行一样,都是软件过度期的产物。废话少说了,设计目标为了针对某些URL如:

www.abcde.com/project/controller/method

www.abcde.com/project/controller/method/para1/para2

用最原始的Servlet实现过程。

令:时常关注OSC或我的博客可能不会得流感哟:)

2、流程分析

     一,容器启动

           资源缓存,请求分析出来对应的类,方法缓存起来以便于url的映射(暂时没做)

    二,动作流程             

 1,URL解析

url的处理是在UrlFilter中做的,这是借鉴红薯老爹的方式,以前以为用Servlet的方式在配置与实现上   很简单,其实不然,对于大量静态请求的处理Servlet显得很疲软,所以改用filter的方式实现,这个需要在web.xm中配置。

url被拦截后我们会进行解析,将解析好的Action(自己封装的一个类,其中包含URL对应的Method,  还有其它一些基本属性)接下来要判断url来源方是否有权限操作,我的设计思路是在需要的Controller  中加入Annotation如@Auth(99)等权限标识。如果符合权限继续操作。

接下来要进行方法的调用,在对应的Action类中我定义了一个字段actionType,它可以帮我们判断是什么类型的调用(前提是在解析URL实要设定),有ajax的,有转向资源模版路径的,下载的,上传的等,根据这些情况要做相应处理,这个下章会详细介绍。

 额,已经很晚 了,明天还要赶飞机,写不动了,明天我会继续写,只当是对完成工作的一种总结吧,源码在做好后会发上了,以上都是针对像我这样用多了框架,已经忘了什么是Servlet的人的体会,高手不要看不起哦,第一次在OSC发博文,大家板砖,矿泉水瓶什么的都准备好哈。。。

               令:求几个好基有,有木有~~~




转:https://my.oschina.net/lbnan/blog/120735



推荐阅读
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • Asp.net Mvc Framework 七 (Filter及其执行顺序) 的应用示例
    本文介绍了在Asp.net Mvc中应用Filter功能进行登录判断、用户权限控制、输出缓存、防盗链、防蜘蛛、本地化设置等操作的示例,并解释了Filter的执行顺序。通过示例代码,详细说明了如何使用Filter来实现这些功能。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 20211101CleverTap参与度和分析工具功能平台学习/实践
    1.应用场景主要用于学习CleverTap的使用,该平台主要用于客户保留与参与平台.为客户提供价值.这里接触到的原因,是目前公司用到该平台的服务~2.学习操作 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • 在springmvc框架中,前台ajax调用方法,对图片批量下载,如何弹出提示保存位置选框?Controller方法 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 本文介绍了一种处理AJAX操作授权过期的全局方式,以解决Asp.net MVC中Session过期异常的问题。同时还介绍了基于WebImage的图片上传工具类。详细内容请参考链接:https://www.cnblogs.com/starluck/p/8284949.html ... [详细]
  • 小程序自动授权和手动接入的方式及操作步骤
    本文介绍了小程序支持的两种接入方式:自动授权和手动接入,并详细说明了它们的操作步骤。同时还介绍了如何在两种方式之间切换,以及手动接入后如何下载代码包和提交审核。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
author-avatar
白日星445533
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有