私はサーブレット テクノロジの初心者であり、これは基本的な質問ですが、私にとっては複雑すぎるチュートリアルに戸惑っています。
新しいサーブレットがありますHelloWorldServlet
。でweb.xml
、私はこれを持っています
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<servlet>
<servlet-name>HelloWorldServlet</servlet-name>
<servlet-class>cz.hello.HelloWorldServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorldServlet</servlet-name>
<url-pattern>/HelloWorldServlet</url-pattern>
</servlet-mapping>
</web-app>
HelloWorldServlet.scala
(私はJavaよりもScalaを好みます)このように見えます
package cz.hello
import javax.servlet.http.HttpServlet
import javax.servlet.http.HttpServletRequest
import javax.servlet.http.HttpServletResponse
class HelloWorldServlet extends HttpServlet {
override def doGet(req: HttpServletRequest, resp: HttpServletResponse) = {
resp.setContentType("text/plain")
resp.getWriter.println("Hello, world")
}
}
これまでのところ、Jetty を使用してサーブレットが読み込まれています。満足しています。"hello world" が表示されhttp://localhost:8080/HelloWorldServlet
ます。
ここで、サーブレットが GET リクエストに反応できるようにしたいと考えていhttp://localhost:8080/HelloWorldServlet/hello
ますhttp://localhost:8080/HelloWorldServlet/goodbye
。たとえば、(疑似コード)のように
override def doGet(req: HttpServletRequest, resp: HttpServletResponse) = {
resp.setContentType("text/plain")
if (req.isAddress("/hello") {
resp.getWriter.println("Hello, world")
} else {
resp.getWriter.println("Goodbye, world")
}
}
どうすればそれを達成できますか?