Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/140.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java/JSTL:将所有URL放在一个枚举中是一个好主意吗?_Java_Jsp_Enums_Jstl - Fatal编程技术网

Java/JSTL:将所有URL放在一个枚举中是一个好主意吗?

Java/JSTL:将所有URL放在一个枚举中是一个好主意吗?,java,jsp,enums,jstl,Java,Jsp,Enums,Jstl,我正在使用Java servlet开发一个web应用程序,并使用JSTL开发JSP页面 我想找到一种方法: 1) 轻松重构URL 2) 对于任何url,都可以轻松发现引用它的页面/servlet。这样,在进行更改时,应该更容易了解其他地方的潜在影响 我正在考虑使用枚举来存储URL 这是个好主意吗?如果是这样,那么通过JSTL引用它的最佳方式是什么?有没有其他方法可以实现同样的目标 //example code public enum SiteUrl { HOME("/"),CART("/

我正在使用Java servlet开发一个web应用程序,并使用JSTL开发JSP页面

我想找到一种方法:
1) 轻松重构URL
2) 对于任何url,都可以轻松发现引用它的页面/servlet。这样,在进行更改时,应该更容易了解其他地方的潜在影响

我正在考虑使用枚举来存储URL

这是个好主意吗?如果是这样,那么通过JSTL引用它的最佳方式是什么?有没有其他方法可以实现同样的目标

//example code
public enum SiteUrl {
    HOME("/"),CART("/cart"),PROFILE("/my-profile");

    private final String url;

    private SiteUrl(String url){
        this.url = url;
    }

    public String getUrl(){
        return url;
    }
}

我更喜欢DB而不是enum。原因如下:

  • 维护enum类并不容易,因为其他人需要 也要更新它
  • 如果您的应用程序不支持热部署,则需要重新启动应用程序 添加新url时
  • 通常,您首先需要处理请求,就像清理参数一样 一个DB接口可以做到这一点

否。您可以在部署描述符文件中定义所有与导航相关的内容。将其转化为代码是一个倒退的步骤。

对于从数据库检索url的类,它会为每个url提供一个方法,还是一个采用参数的通用方法?数据库结构和接口都基于您的实际需求和设计。我假设一个带有不同参数的URL直接指向一个JSP。但是DB交互需要更多的时间,你的“更快”。所以你需要考虑你的应用程序的真实环境。你好,你能解释一下为什么它是一个逆行的步骤吗?我想知道:)