6

我正在尝试在 Netbeans 中构建和运行一个 servlet,以便在码头服务器上运行。在本地部署总是有效的,但是在 Jetty 上部署会导致目录列表而不是 servlet 实际运行。

问题似乎与上下文配置有关,但我不知道我做错了什么。

这是 war 文件中 web.xml 的 XML:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
    <description>Raw Query</description>
    <servlet-name>query</servlet-name>
    <servlet-class>core.SQL</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>query</servlet-name>
    <url-pattern>/query</url-pattern>
</servlet-mapping>
<session-config>
    <session-timeout>
        30
    </session-timeout>
</session-config>
<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>

在 Jetty 方面,我以这种方式使用上下文映射设置进行部署:

<?xml version="1.0"  encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" 
"http://jetty.mortbay.org/configure.dtd">

<Configure class="org.mortbay.jetty.webapp.WebAppContext">
    <Set name="contextPath">/query</Set>
    <Set name="war">
        <SystemProperty name="jetty.home" default="."/>/webapps/Link/I5Link.war
    </Set>
</Configure>

任何帮助都非常有用。

4

1 回答 1

4

我没有使用码头,但我会测试以下网址:

http://localhost:8080/query/query?whateverYouNeed

如果可行,我会将您的 <url-pattern> 更改为以下之一:

<url-模式>/</url-模式>

<url-pattern>*</url-pattern>

于 2009-08-25T15:20:14.097 回答