0

ここにコードがあります:

package de.swt1321.servlet;

import java.io.OutputStream;

import javax.servlet.http.annotation.Servlet;
import javax.servlet.http.annotation.GET;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@Servlet(urlMappings={"/ServletTest"})
public class ServletTest {
    private static final java.nio.charset.Charset UTF8 = java.nio.charset.Charset.forName("UTF8");
    @GET
    public void handleGet(HttpServletRequest req,
                          HttpServletResponse res)
    {
        byte[] HTML = "<html><head><title>Hello World!</title></head><body><h1>IT WORKED!</h1></body></html>".getBytes(UTF8);
        res.setStatus(HttpServletResponse.SC_OK);
        res.setHeader("content-type","text/html;charset=utf8");
        res.setIntHeader("content-length",HTML.length);
        OutputStream os = res.getOutputStream();
        os.write(HTML);
        os.flush();
    }
}

私はこれがこれに従って機能することを期待します 、残念ながら私は今のところjavax.servlet.http.annotationパッケージを含む瓶を見つけることができませんでした。http://download.java.net/maven/2の「javax:javaee-api:jar:6.0」servlet-api-3.0.jarとJetty 9に同梱されているものを調べましたが、これまでのところ運がありません。私はここでちょっとアイデアが足りません、何が欠けていますか?

これまでのところ、このBuildrビルドファイルを使用してビルド/ビルドを試みています。

# Version number for this release
VERSION_NUMBER = "1.0.0"
# Group identifier for your projects
GROUP = "swt1321"
COPYRIGHT = ""

# Specify Maven 2.0 remote repositories here, like this:
repositories.remote << "http://repo1.maven.org/maven2"

# This really bugs me, this isn't only supposed to build on my own PC after all!
# But as I said, the one at the download.java.net repo didn't work
JAVA_EE_PATH = "/home/hannes/Lib/Java/jetty-distribution-9.0.0.M3/lib/servlet-api-3.0.jar"
java_ee = artifact("de.swt1321:java_ee:jar:1.0").from(file JAVA_EE_PATH)

project_layout = Layout.new
project_layout[:source,:main,:java] = 'src'
project_layout[:source,:test,:java] = 'test'

desc "The Servlettest project"
define "ServletTest", :layout => project_layout do
  project.version = VERSION_NUMBER
  project.group = GROUP
  manifest["Implementation-Vendor"] = COPYRIGHT
  compile.with java_ee
  package :war
end
4

2 に答える 2

3

このパッケージはservlet-api.jarのサブパッケージであり、このjarファイルはコンテナのlibフォルダにあります。tomcatの場合は、 [tomcatインストールディレクトリ]->lib->servlet-api.jarです。

于 2012-12-13T20:42:37.463 に答える
0

WebサーブレットAPIのより更新された例を一瞥することをお勧めします

それでも、2008年の例で使用されているライブラリをまだ探している場合は、Jarvanaによるとこれらのライブラリをお勧めします。

Maven:  

<dependency>
   <groupId>org.mortbay.jetty</groupId>
   <artifactId>servlet-annotation-spec</artifactId>
   <version>3.0.pre0</version>
</dependency>

ボーナス:GETアノテーションは別のパッケージに属しているようです

于 2012-12-13T21:18:15.570 に答える