0

サーブレットで簡単なテストをテストしました。サーブレットで作成した値をJSPに表示したいのですが、表示されないようです。これが私のコードです。

Test.java(サーブレット):

public class Test extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public Test() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String message = "hello";
        request.setAttribute("message", message);
        request.getRequestDispatcher("/servlet-test.jsp").forward(request, response);
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
    }
}

サーブレット-test.jsp(ページ):

<p>Message: ${message}</p>

web.xml

<servlet>
    <description></description>
    <display-name>Test</display-name>
    <servlet-name>Test</servlet-name>
    <servlet-class>com.fluxion.mrcos.actions.Test</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>Test</servlet-name>
    <url-pattern>/Test</url-pattern>
</servlet-mapping>

次に、ページで表示しようとすると、値が表示されません。いつか私に何が悪いのか教えてくれる?

4

2 に答える 2

-1

解決しました!url-patternに拡張子を追加するだけです

web.xml:

<servlet-mapping>
<servlet-name>Test</servlet-name>
<url-pattern>/Test.do</url-pattern>

また、 request.getRequestDispatcherの WEB-INF を削除します(これは理解できない部分ですが、機能します)。

request.getRequestDispatcher("/servlet-test.jsp").forward(request, response);
于 2013-08-15T13:43:51.343 に答える