簡體   English   中英

將Servlet映射到web.xml

[英]Mapping Servlet on web.xml

當我開始出現404錯誤時,我正在對web.xml進行一些更改。 我的servlet僅打印出json數據。 否則,當我嘗試運行代碼時,tomcat服務器只是不響應。 似乎是什么問題? 我嘗試了不同的servlet映射,但似乎仍然無法正常工作。 感謝您抽出寶貴的時間來查看我的代碼,非常感謝!

    <servlet>
        <servlet-name>inventory</servlet-name>
        <servlet-class>InventoryServlet</servlet-class> 
    </servlet>
    <servlet-mapping>
    <servlet-name>inventory</servlet-name>
    <url-pattern>InventoryServlet</url-pattern>
    </servlet-mapping>

</web-app>

我的servlet的開始,僅打印出JSON數據。

   @SuppressWarnings("serial")
    public class InventoryServlet extends HttpServlet {

        @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            ArrayList < LavaLamp > lamps = new ArrayList < LavaLamp > ();

        Manufacturer lavaLampDotCom = new Manufacturer();
        lavaLampDotCom.setManName("lavalamp.com");

        LavaLamp blulava = new LavaLamp();
        blulava.setLavaName("Blulava");
        blulava.setType("Original");
        blulava.setPrice(17.99);
        blulava.setHeight(12);
        blulava.setWidth(3.5);
        blulava.setWaxColor("Blue");
        blulava.setLiquidColor("Red");
        blulava.setId(1);
        blulava.setCostBook(new SimpleCostBook(blulava.getPrice()));
        blulava.setManufacturer(lavaLampDotCom);
        blulava.setManId(1);
        blulava.setSku(1111);
        lamps.add(blulava);

        Manufacturer volcanicLavaDotNet = new Manufacturer();
        volcanicLavaDotNet.setManName("volcaniclava.net");

        LavaLamp bloodlava = new LavaLamp();
        bloodlava.setLavaName("Blood Lava");
        bloodlava.setType("Original");
        bloodlava.setWaxColor("Red");
        bloodlava.setLiquidColor("Green");
        bloodlava.setPrice(15.99);
        bloodlava.setHeight(12);
        bloodlava.setWidth(3.5);
        bloodlava.setId(2);
        bloodlava.setCostBook(new SimpleCostBook(bloodlava.getPrice()));
        bloodlava.setManufacturer(volcanicLavaDotNet);
        bloodlava.setManId(4);
        bloodlava.setSku(2222);
        lamps.add(bloodlava);


        Manufacturer lavaHouseDotCom = new Manufacturer();
        lavaHouseDotCom.setManName("lavahouse.com");

        LavaLamp purppower = new LavaLamp();
        purppower.setLavaName("Purp Power");
        purppower.setType("Large");
        purppower.setWaxColor("Purple");
        purppower.setLiquidColor("Yellow");
        purppower.setPrice(22.99);
        purppower.setHeight(16);
        purppower.setWidth(4.5);
        purppower.setId(3);
        purppower.setCostBook(new SimpleCostBook(purppower.getPrice()));
        purppower.setManufacturer(lavaHouseDotCom);
        purppower.setManId(3);
        purppower.setSku(3333);
        lamps.add(purppower);

        Manufacturer lavaCountryDotOrg = new Manufacturer();
        lavaCountryDotOrg.setManName("lavacountry.org");

        LavaLamp mellowyellow = new LavaLamp();
        mellowyellow.setLavaName("Mellow Yellow");
        mellowyellow.setType("Large");
        mellowyellow.setWaxColor("Yellow");
        mellowyellow.setLiquidColor("Black");
        mellowyellow.setPrice(29.99);
        mellowyellow.setHeight(16);
        mellowyellow.setWidth(4.5);
        mellowyellow.setId(4);
        mellowyellow.setCostBook(new SimpleCostBook(mellowyellow.getPrice()));
        mellowyellow.setManufacturer(lavaCountryDotOrg);
        mellowyellow.setManId(5);
        mellowyellow.setSku(4444);
        lamps.add(mellowyellow);

        Manufacturer jamiesBasementDotSwag = new Manufacturer();
        jamiesBasementDotSwag.setManName("jamiesbasement.swag");

        LavaLamp rainbowmadness = new LavaLamp();
        rainbowmadness.setLavaName("Rainbow Madness");
        rainbowmadness.setType("XXL");
        rainbowmadness.setWaxColor("Rainbow");
        rainbowmadness.setLiquidColor("Clear");
        rainbowmadness.setPrice(49.99);
        rainbowmadness.setHeight(50);
        rainbowmadness.setWidth(12.5);
        rainbowmadness.setId(5);
        rainbowmadness.setCostBook(new SimpleCostBook(rainbowmadness.getPrice()));
        rainbowmadness.setManufacturer(jamiesBasementDotSwag);
        rainbowmadness.setManId(2);
        rainbowmadness.setSku(5555);
        lamps.add(rainbowmadness);

        Manufacturer lavaLampCom = new Manufacturer();
        lavaLampCom.setManName("lavalamp.com");

        LavaLamp greenwilly = new LavaLamp();
        greenwilly.setLavaName("Green Willy");
        greenwilly.setType("Large");
        greenwilly.setWaxColor("Green");
        greenwilly.setLiquidColor("Clear");
        greenwilly.setPrice(27.99);
        greenwilly.setHeight(16);
        greenwilly.setWidth(3.5);
        greenwilly.setId(6);
        greenwilly.setCostBook(new SimpleCostBook(greenwilly.getPrice()));
        greenwilly.setManufacturer(lavaLampCom);
        greenwilly.setManId(1);
        greenwilly.setSku(6666);
        lamps.add(greenwilly);
        try {

        PrintWriter out = response.getWriter();
        out.write(new Gson().toJson(lamps));

        } catch (IOException e) {
            e.printStackTrace();
        }

    }

}

驗證您是否正確設置了課程,例如:

<servlet>
    <servlet-name>MyServletClass</servlet-name>
    <servlet-class>myPackage.mySubPackage.myClass</servlet-class>
</servlet>

我找到了本教程 ,在這里您可以看到JPS和Servlet的完整示例以及如何修改web.xml文件。 所有代碼都可用,因此我認為它可以為您提供幫助: http : //www.ibm.com/developerworks/java/library/j-hangman-app/index.html

暫無
暫無

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

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