簡體   English   中英

使用registerServlet方法時收到多個語法錯誤

[英]Receiving multiple syntax errors when using registerServlet method

我正在嘗試使用ServletUnit來實現JUnit單元測試,以測試servlet,特別是名為SignedNotesServlet.java的java文件。 該測試類與SignedNotesServlet.java在同一目錄中。 我正在使用Eclipse。

但是,我很難為ServletUnit和HttpUnit的一部分的registerServlet方法編寫正確的語法。 我尚未運行該程序。 我收到的錯誤是

令牌上的語法錯誤,應改為使用FormalParameter

令牌“類”上的語法錯誤,應使用標識符

令牌語法錯誤,構造放置錯誤

令牌““ SignedNotesServlet”“的語法錯誤,無效的FormalParameterList

這是我的代碼:

package notetaker;
import com.meterware.servletunit.ServletRunner;
import com.meterware.servletunit.ServletUnitClient;
import com.meterware.httpunit.GetMethodWebRequest;
import com.meterware.httpunit.WebRequest;
import com.meterware.httpunit.WebResponse;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import static org.junit.Assert.fail;

public class SignedNotesServletTest {

    ServletRunner sr = new ServletRunner();
    sr.registerServlet( "SignedNotesServlet", SignedNotesServlet.class.getName() );
    private SignedNotesServlet signednotes;
    @Test
    public void test() {
        fail("Not yet implemented");
    }

}

我認為我已按照http://tinyurl.com/ku7huss的指示正確添加了jar文件的構建路徑。 我使用http://tinyurl.com/b55fn作為主要參考,但同時也查看了Web上的幾個registerServlet示例(由於需要10個信譽才能發布兩個以上的鏈接,因此我無法發布這些鏈接以供參考) 。 我並不完全確定可能出什么問題,因為我基本上是從第二個網站復制粘貼並做出(我認為)適當的更改。

我還認為“ SignedNotesServlet”可能出了一些問題,因為錯誤中包含四重引號,因此我刪除了它們,但仍然無法解決問題,而且我也不認為這將是正確的語法,基於在示例上。

這就是問題:

sr.registerServlet( "SignedNotesServlet", SignedNotesServlet.class.getName() );

該語句不在方法或構造函數中-需要。 要么將其放入測試本身,要么置於設置方法中。 如果您將該代碼放入單個測試中,我還建議將sr設置為該測試的局部變量。 如果將其放入設置方法中,則仍然需要sr作為實例變量,但是我建議將其設置為私有並為其指定一個更有用的名稱。

我不確定是什么問題,因為我基本上是從第二個網站復制粘貼的

但是您將其復制到了不合適的地方。 請注意,這與servlet,JUnit,ServletUnit或您的構建路徑無關-它只是無效的Java。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM