1

この質問があります。サーブレット自体にサーブレットパスを次のように指定できますか?

(パス = /myServlet) public MyNormalServlet は HttpServlet....{ を拡張します。. . }

したがって、ブラウザからの呼び出しが「http://localhost:8080/myServlet」と言うと、私のこのサーブレットが呼び出され、Tomcat の独立したサーブレットになり、Tomcat の web.xml でマッピングを指定できなくなります。

誰かがこれで私を助けて、それに対する可能な解決策を提供できるかどうか..

ありがとう、

4

3 に答える 3

1

Tomcat を実行している場合は、web.xml ファイルを編集するだけです。

(...)
<servlet>
    <servlet-name>TestingServlet</servlet-name>
    <servlet-class>TestingServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>TestingServlet</servlet-name>
    <url-pattern>/servlet/TestingServlet</url-pattern>
</servlet-mapping>
(...)

ここで: ... サーブレットの名前。サーブレットマッピングの内部と一致する必要があります...このサーブレットを処理するクラスの名前です。

...同じタグに一致する限り、必要なものは何でも...応答したいURLパス..したがって、例では、ここに「/ myServlet」と入力します

この件についてもっと読みたい場合: http://javapapers.com/servlet/what-is-servlet-mapping/

于 2012-09-14T09:51:18.557 に答える
1

Servlet 3 コンテナーを使用している場合は、Servlet 3.0 @WebServlet アノテーションを使用してこれを行うことができます。

@WebServlet(urlPatterns={"/path1","/path2"[,...],}

この方法で、説明、初期化パラメーターなどを指定することもできます。XML を記述する必要はまったくありません。Servlet 3.0 Javadoc を参照してください。

于 2012-09-14T09:57:24.290 に答える
0

必要なものは、標準のサーブレットではサポートされていません。Spring MVC のようなものを注釈付きで使用して、同じことを実現できます。

http://static.springsource.org/spring/docs/3.0.x/reference/mvc.html

例えば

@Controller
public class HelloWorldController {

    @RequestMapping("/helloWorld")
    public ModelAndView helloWorld() {
        ModelAndView mav = new ModelAndView();
        mav.setViewName("helloWorld");
        mav.addObject("message", "Hello World!");
        return mav;
    }
}

この Spring MVC コントローラーを使用して Web アプリを Tomcat のルート Web アプリ コンテキストにデプロイすると、「http://localhost:8080/helloWorld」にアクセスすると、helloWorld メソッドが実行されます。

于 2012-09-14T10:01:34.613 に答える