ルート /Reverse ディレクトリにこの reverse.html があります
<!DOCTYPE html>
<html>
<body>
<h1>Assignment Servlets-2 - Reverse</h1>
<form method='post' action='ReverseServlet'>
Text: <input type='text' name='text' size='50'><br><br>
<input type='submit' value='submit'>
</form>
</body>
</html>
これは、/WEB-INF ディレクトリの web.xml です。
<web-app 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"
version="2.5">
<servlet> <servlet-name>ReverseServlet</servlet-name>
<servlet-class>ReverseServlet</servlet-class> </servlet>
<servlet-mapping> <servlet-name>ReverseServlet</servlet-name>
<url-pattern>/reverse</url-pattern>
</servlet-mapping>
</web-app>
これは、/classes ディレクトリのクラス ファイルにコンパイルされた ReverseServlet.java ソースです。
import java.io.* ;
import javax.servlet.http.* ;
public class ReverseServlet extends HttpServlet {
public void doGet( HttpServletRequest request, HttpServletResponse response ) {
String text = request.getParameter("text");
response.setContentType("text/html");
try {
PrintWriter out = response.getWriter();
out.println( new StringBuffer( text ).reverse().toString() );
out.close();
} catch( Exception e ) {
System.out.println( "cannot get writer: " + e );
}
}
}
それらはすべて適切なディレクトリにあり、reverse.html をロードできますが、アクションは ReverseServlet クラスに関連付けられません。私は Tomcat 7.0 を使用しており、単純なサーブレットが動作するようになったので、正しくインストールされていることがわかります。送信を押してもサーブレットコードに移動しません...