当前位置: 首页 > 知识库问答 >
问题:

类名应该包含包的名称吗?

陆俊迈
2023-03-14

我必须用Java实现一个日志机制。所以我使用JEE,使用RequestFilter和拦截器。我把所有这些都放在一个叫做日志记录的包中。

我的类是:请求过滤器,响应过滤器和常量

所以我的问题是。因为类名已经存在于包中,所以不记录类名可以吗?

包日志记录和重复日志记录:请求过滤日志记录,响应过滤日志记录,ConstantsLogging

共有1个答案

乜烨霖
2023-03-14

这实际上取决于几个问题:

1-RequestFilter的目的是始终只记录日志吗?

2-有没有计划让你修改它以增加进一步的逻辑?例如自定义请求的标题等?

3-你是否计划有超过1个请求过滤器和指定优先级?

如果您的设计是要有多个请求过滤器,每个过滤器都有自己的自定义逻辑,并带有优先级,那么我会这样做:

com.app.requestfilters
      --> LoggingRequestFilter
      --> HeadersRequestFilter

如果你的设计是有1个做很多事情的请求过滤器,不仅仅是日志记录:

com.app.requestfilters
       --> CustomRequestFilter 

在我看来,最好不要重用你正在使用的库/框架中存在的类名:

在ApacheTomcat中,有一个RequestFilter,如果您要扩展这个类,那么您的类应该是另一个名称

https://tomcat.apache.org/tomcat-7.0-doc/api/org/apache/catalina/filters/RequestFilter.html

 类似资料:
  • 我在StackOverflow中找到了很少的答案。但并不符合我的要求,即从“com.app”改为“com.company.app” 我试过了,但只有当你想从com.a.app改成com.b.app的时候,它才起作用。Android Studio重命名包

  • 我有一个实体Person,它由name属性组成 我不想在一个额外的表中存储“name”...我将name标记为transient,这样它就不会存储在基础数据库中。 我想要的是将属性“name”映射到数据库中的列“first_name”和“last_name”。 例如,我可以像那样创建一个人 如何实现映射,使基础表包含两个附加列first_name和last_name,内容是从name属性获得的字符

  • 问题内容: 在我的Java应用程序中,我使用第三方库。 但是,我发现有些奇怪,有一些嵌套的程序包,有些类的名称可能与程序包的名称相同。 恐怕我不清楚。这是一个例子: 包 在“ com.xx.a”内部有一个名为“ a”的类。 因此,如果我想将此类称为“ a” … 我写: 然后,IDE将认为我的意思是软件包“ com.xx.a.a”。 那我就不能打电话了。 我想知道为什么? 顺便说一句,图书馆提供者似

  • 问题内容: 使用GSON,如何将列表的类名称附加到输出的json字符串中?我浏览了api,错过了做此操作的任何参考。我在实际代码中使用了GsonBuilder,但也没有看到任何选项。 这给出以下输出: json = [{“ name”:“ Alice”},{“ name”:“ Bob”}] 如何获得以下输出? 或类似的东西。 json = {“ person”:[{“ name”:“ Alice”

  • 问题内容: 我在用Maven或Eclipse编译一些Scala时遇到问题,我尝试从Java jar导入一个包含名称空间和同名类的类。 我可以用编译。 例如,Java项目(jar)包含: 编译器抱怨: 在Scala 2.9.0.1(和)中使用Maven 3.0.03 / Eclipse 3.7.1 。 我遇到问题的jar是-它肯定包含几个实例,其中存在同名的名称空间和对象。 我正在尝试在Scala中

  • 问题内容: 我在用Maven或Eclipse编译一些Scala时遇到问题,我尝试从Java jar导入一个包含名称空间和同名类的类。 我可以用编译。 例如,Java项目(jar)包含: 编译器抱怨: 在Scala 2.9.0.1(和)中使用Maven 3.0.03 / Eclipse 3.7.1 。 我遇到问题的jar是-它肯定包含几个实例,其中存在同名的名称空间和对象。 我正在尝试在Scala中