0

ファイルをアップロードすると、多くのエラーが発生します。ただし、私のローカルホストでは完全に機能します。

アクションがサーブレットであるフォームがあります。ファイルの構造により、すべての .class ファイルをディレクトリに配置する必要があることはわかっています/WEB-INF/classes。問題は、これをフォーム アクションとして記述すると、次の/WEB-INF/classes/myservletメッセージが表示されることです。

"You don't have permission to access /WEB-INF/classes/myservleton this server".

この問題を解決するにはどうすればよいですか?

更新:これはの一部ですweb.xml

<servlet>
    <servlet-name>addservlet</servlet-name>
    <servlet-class>app.addservlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>addservlet</servlet-name>
    <url-pattern>/addservlet</url-pattern>
</servlet-mapping> 

これは、フォームを送信するときに要求された URL です。

http://mydomain.com/addservlet

そして、見つかりませんというエラーが表示されます

The requested URL /addservlet was not found on this server

4

2 に答える 2

0

web.xml ファイルでサーブレットをマップする必要があります... http://static.springsource.com/projects/tc-server/6.0/getstart/rgswebxml.htmlの最初の例を参照してください

すなわち

<?xml version="1.0" encoding="ISO-8859-1" ?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4">
      <servlet>
        <servlet-name>myservlet</servlet-name>
        <servlet-class>my.package.myservlet</servlet-class> (or what ever package you use)
    </servlet>

    <servlet-mapping>
        <servlet-name>myservlet</servlet-name>
        <url-pattern>/myservlet</url-pattern>
    </servlet-mapping>
</web-app>

次に、アクションを /myservlet に向けます

于 2012-04-23T23:55:32.770 に答える
0

正しい URL がサーバーに送信されると、サーブレットは Java クラスを実行します。これは、web.xml で定義する必要がある「マッピング」プロパティによって行われます。WEB-INF の下のリソースは、URL を介したアクセスから常に保護されています。

于 2012-04-23T23:56:33.757 に答える