Servlets web.xml上的Servlet映射
当我开始出现404错误时,我正在对web.xml进行一些更改。我的servlet只是打印json数据。或者我的tomcat服务器在我尝试运行代码时没有响应。有什么问题吗?我尝试了不同的servlet映射,但似乎仍然不起作用。感谢您抽出时间来查看我的代码,非常感谢Servlets web.xml上的Servlet映射,servlets,web.xml,Servlets,Web.xml,当我开始出现404错误时,我正在对web.xml进行一些更改。我的servlet只是打印json数据。或者我的tomcat服务器在我尝试运行代码时没有响应。有什么问题吗?我尝试了不同的servlet映射,但似乎仍然不起作用。感谢您抽出时间来查看我的代码,非常感谢 <servlet> <servlet-name>inventory</servlet-name> <servlet-class>InventoryS
<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
库存
目录servlet
我的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();
}
}
}
@SuppressWarnings(“串行”)
公共类InventoryServlet扩展了HttpServlet{
@凌驾
受保护的void doGet(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException{
ArrayListlamps=新的ArrayList();
制造商lavaLampDotCom=新制造商();
lavaLampDotCom.setManName(“lavalamp.com”);
LavaLamp blulava=新的LavaLamp();
blulava.setLavaName(“blulava”);
blulava.setType(“原始”);
blulava.setPrice(17.99);
设置高度(12);
blulava.设置宽度(3.5);
蓝熔岩色(“蓝色”);
blulava.setLiquidColor(“红色”);
褐飞虱(1);
setCostBook(新的SimpleCostBook(blulava.getPrice());
blulava.setManufactor(lavaLampDotCom);
蓝熔岩。塞特曼尼(1);
blulava.setSku(1111);
灯。添加(蓝色熔岩);
制造商volcanicLavaDotNet=新制造商();
setManName(“volcaniclava.net”);
LavaLamp bloodlava=新的LavaLamp();
血熔岩。setLavaName(“血熔岩”);
血色熔岩。setType(“原始”);
血熔岩色(“红色”);
血熔岩色(绿色);
血熔岩价格(15.99);
血熔岩。设定高度(12);
血熔岩。设定宽度(3.5);
血熔岩;刚毛(2);
bloodlava.setCostBook(新的SimpleCostBook(bloodlava.getPrice());
bloodlava.SetManufactor(火山熔岩网);
血熔岩。塞特马尼德(4);
血熔岩。塞斯库(2222);
灯。添加(血熔岩);
制造商lavaHouseDotCom=新制造商();
lavahouse.com.setManName(“lavahouse.com”);
LavaLamp purppower=新LavaLamp();
purppower.setLavaName(“purppower”);
purppower.setType(“大型”);
紫红色(“紫色”);
紫色。设置液体颜色(“黄色”);
设定价格(22.99);
设定高度(16);
设定宽度(4.5);
setId(3);
setCostBook(新的SimpleCostBook(purppower.getPrice());
Purpower.setManufacturer(lavaHouseDotCom);
setManId(3);
purppower.setSku(3333);
灯。添加(电源);
Manufacturer lavaCountryDotOrg=新制造商();
lavaCountryDotOrg.setManName(“lavaCountryDotOrg”);
LavaLamp mellowyellow=新的LavaLamp();
mellowyellow.setLavaName(“Mellow Yellow”);
mellowyellow.setType(“大型”);
梅洛·韦克斯颜色(“黄色”);
mellowyellow.setLiquidColor(“黑色”);
梅勒韦尔洛设定价格(29.99);
设置高度(16);
梅勒韦尔洛。设定宽度(4.5);
梅勒韦洛氏刚毛(4);
setCostBook(新的SimpleCostBook(mellowyellow.getPrice());
mellowyellow.setManufacturer(lavaCountryDotOrg);
塞特曼尼(5);
梅勒韦洛塞斯库(4444);
灯。添加(mellowyellow);
制造商jamiesBasementDotSwag=新制造商();
jamiesBasementDotSwag.setManName(“jamiesBasick.swag”);
LavaLamp彩虹疯狂=新LavaLamp();
彩虹疯狂。setLavaName(“彩虹疯狂”);
彩虹疯狂。setType(“XXL”);
彩虹疯狂。setWaxColor(“彩虹”);
彩虹疯狂。色(“清晰”);
《彩虹疯狂》(49.99);
彩虹疯狂。设定高度(50);
彩虹疯狂。设定宽度(12.5);
彩虹疯狂。setId(5);
rainbowmadness.setCostBook(新的SimpleCostBook(rainbowmadness.getPrice());
彩虹疯狂。设置制造商(jamiesBasementDotSwag);
彩虹疯狂。塞特马尼德(2);
《彩虹疯狂》(5555);
灯。添加(彩虹疯狂);
制造商lavaLampCom=新制造商();
lavaLampCom.setManName(“lavalamp.com”);
LavaLamp greenwilly=新的LavaLamp();
greenwilly.setLavaName(“greenwilly”);
greenwilly.setType(“大型”);
greenwilly.setWaxColor(“绿色”);
greenwilly.setLiquidColor(“透明”);
格林威利设定价格(27.99);
设置高度(16);
格林威利。设定宽度(3.5);
greenwilly.setId(6);
greenwilly.setCostBook(新的SimpleCostBook(greenwilly.getPrice());
greenwilly.setManufacturer(lavaLampCom);
绿色威利.塞特曼尼(1);
格林威利·塞斯库(6666);
灯。添加(格林威利);
试一试{
PrintWriter out=response.getWriter();
write(new Gson().toJson(lamps));
}捕获(IOE异常){
e、 printStackTrace();
}
}
}
验证您是否正确设置了类,例如:
<servlet>
<servlet-name>MyServletClass</servlet-name>
<servlet-class>myPackage.mySubPackage.myClass</servlet-class>
</servlet>
MyServletClass
myPackage.mySubPackage.myClass
我发现这里有一个完整的JPS和Servlet示例,以及如何修改web.xml文件。所有代码都可用,因此我认为它可以帮助您:尝试在url模式中添加斜杠:
/InventoryServlet
或/InventoryServlet/*
,并确保在更改web后重新启动服务。我尝试过,它似乎不是url模式,而是类或servlet名称。我的404显示HTTP状态404-/LavaLamp/servlet/edu.asu.lava.web.InventoryServletUrl您正在尝试的是什么,http://localhost:8080/LavaLamp/InventoryServlet
?我得到了一个404,web.xml看起来