2012-02-22 47 views
1

我编译jsp时使用了java weblogic.jspc . index.jsp它给了我一个目录和.class文件。现在我想在web.xml中映射这个.class文件。我的问题是我没有 servlet名称,jsp在其生命周期中被转换。想要预编译jsp并将生成的.class文件映射到web.xml中

我知道如何在web.xml中映射servlet,但在jsp的情况下我有.class文件但没有servlet类。请帮我,我该怎么做这个任务?

回答

1

servlet名称无关紧要。你可以选择你想要的任何servlet名称。它仅用于定位web.xml内的<servlet><servlet-mapping>声明之间的关系。只要把类文件中/WEB-INF/classes通常的方式如下图吧(完整的目录结构!):

<servlet> 
    <servlet-name>indexJsp</servlet-name> 
    <servlet-class>some.weblogic.specific.packagename.GeneratedClassNameOfIndexJsp</servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>indexJsp</servlet-name> 
    <url-pattern>/index.jsp</url-pattern> 
</servlet-mapping> 

indexJsp servlet名称是完全免费的你的选择。重要的是,<servlet-class>指出了生成的类文件的正确FQN,而<url-pattern>指定了您想要调用它的URL。

+1

我在jsp_servlet目录中有我的_index.class文件。现在我将把jsp_servlet目录放在WEB-INF/classes目录下,然后在我的servlet-class标签之间写上“some.weblogic.jsp_servlet._index”。我正确与否? – 2012-02-23 04:03:41

+0

不,“some.weblogic”部分仅仅是一个例子,因为我不知道它产生了什么FQN。但是你说过,它只生成一个文件夹'jsp_servlet',其中已经有类文件了?如果是这样,那么FQN是'jsp_servlet._index'。 – BalusC 2012-02-23 11:42:55