Java& JSP - 将.class放在首选目录中?

时间:2015-08-11 07:01:24

标签: java jsp tomcat classpath

我刚刚开始编写java和jsp程序而且我不明白 - 为什么我必须将我的所有.class保存在WEB-INF目录中?

我可以将它们放在我喜欢的目录中但我仍然希望能够访问所有Java默认类,例如java.util.*吗?例如,

app/
  class/
    Foo/
      Hello.class
      Hello.java
index.jsp

这可能吗?

的index.jsp,

<html>
<head>
<title>Custom Class</title>
</head>
<body>

    <%@ page import="java.io.*,java.util.*" %>
    <%@ page import="javax.servlet.*,java.text.*" %>
    <%@ page import="Foo.Hello" %>

    <%
      Date date = new Date();
      out.print( "<p>" +date.toString()+"</p>");

      SimpleDateFormat ft = new SimpleDateFormat ("EEEE");
      out.print( "<p>" + ft.format(date) + "</p>");
    %>

    <%
    Hello hello = new Hello();

    hello.setMessage("Hello There!");
    out.print(hello.getMessage() + "<br/>");
    out.print(hello.sayHello());
    %>

</body>
</html>

修改

app/
      WEB-INF/
       classes/
        Foo/
          Hello.class
          Hello.java
    index.jsp

1 个答案:

答案 0 :(得分:1)

不,如果是webapp,您的所有类必须位于WEB-INF / classes目录中,并且所有库必须位于WEB-INF / lib目录中。这是容器供应商支持的webapp的标准化结构。

可能存在支持各种非标准化结构的Web容器,但如果您不遵守标准,则会丢失Web应用程序的可移植性。

Tomcat在部署webapps方面有一些很好的documentation