java.lang.NumberFormatException:jsp 和 tomcat 为空
java.lang.NumberFormatException: null with jsp and tomcat
我正在尝试打开我的 battle.jsp,但出现此错误
这是我第一个 jsp 页面的部分:
<link rel="stylesheet" href="firstPage.css">
<div class="container">
<div class="header">
<h1>RPG</h1>
</div>
<div class="left">
<img src="images/hero.png" width="300" height="300" class="hero">
<input type="number" class="heroNumber" min="1" max="3" value="1" name="heroes">
</div>
<div class="middle">
<p class="VS">VS.</p>
<form action="battle.jsp" method="post" name="form1">
<input type="submit" value="Fight" class="submitFight">
</form>
</div>
<div class="right2">
<img src="images/wolf.png" width="152" height="150" class="wolf">
<input type="number" class="wolfNumber" min="1" max="5" value="1" name="wolfs">
</div>
<div class="right2">
<img src="images/orc.png" width="150" height="150" class="orc">
<input type="number" class="orcNumber" min="1"max="3" value="1" name="orcs">
</div>
这是第二部分(为什么会出现错误):
<%
int amountOrc = Integer.parseInt(request.getParameter("orcs"));
int amountWolf = Integer.parseInt(request.getParameter("wolfs"));
int amountHero = Integer.parseInt(request.getParameter("heroes"));
之前一切正常,但现在出现此错误
您的数据必须通过 <form>
提交。所有在表单外提交的数据都不会被 servlet 接收。
因此您的代码应该是:
<div class="container">
<form action="/path" method="POST">
<div class="header">
<h1>RPG</h1>
</div>
<div class="left">
<img src="images/hero.png" width="300" height="300" class="hero">
<input type="number" class="heroNumber" min="1" max="3" value="1" name="heroes">
</div>
<div class="middle">
<p class="VS">VS.</p>
<form action="battle.jsp" method="post" name="form1">
<input type="submit" value="Fight" class="submitFight">
</form>
</div>
<div class="right2">
<img src="images/wolf.png" width="152" height="150" class="wolf">
<input type="number" class="wolfNumber" min="1" max="5" value="1" name="wolfs">
</div>
<div class="right2">
<img src="images/orc.png" width="150" height="150" class="orc">
<input type="number" class="orcNumber" min="1"max="3" value="1" name="orcs">
</div>
</form>
</div>
另外,我建议不要使用这个:
int amountOrc = Integer.parseInt(request.getParameter("orcs"));
int amountWolf = Integer.parseInt(request.getParameter("wolfs"));
int amountHero = Integer.parseInt(request.getParameter("heroes"));
但是使用这个:
String orcs = request.getParameter("orcs");
String wolfs = request.getParameter("wolfs");
String heroes = request.getParameter("heroes");
if(orcs!=null&&wolfs!=null&&heroes!=null){
int amountOrc = Integer.parseInt(orcs);
int amountWolf = Integer.parseInt(wolfs);
int amountHero = Integer.parseInt(heroes);
}
无论如何,为了避免 NullPointerExceptions
或用户尝试抛出一个。
我正在尝试打开我的 battle.jsp,但出现此错误
这是我第一个 jsp 页面的部分:
<link rel="stylesheet" href="firstPage.css">
<div class="container">
<div class="header">
<h1>RPG</h1>
</div>
<div class="left">
<img src="images/hero.png" width="300" height="300" class="hero">
<input type="number" class="heroNumber" min="1" max="3" value="1" name="heroes">
</div>
<div class="middle">
<p class="VS">VS.</p>
<form action="battle.jsp" method="post" name="form1">
<input type="submit" value="Fight" class="submitFight">
</form>
</div>
<div class="right2">
<img src="images/wolf.png" width="152" height="150" class="wolf">
<input type="number" class="wolfNumber" min="1" max="5" value="1" name="wolfs">
</div>
<div class="right2">
<img src="images/orc.png" width="150" height="150" class="orc">
<input type="number" class="orcNumber" min="1"max="3" value="1" name="orcs">
</div>
这是第二部分(为什么会出现错误):
<%
int amountOrc = Integer.parseInt(request.getParameter("orcs"));
int amountWolf = Integer.parseInt(request.getParameter("wolfs"));
int amountHero = Integer.parseInt(request.getParameter("heroes"));
之前一切正常,但现在出现此错误
您的数据必须通过 <form>
提交。所有在表单外提交的数据都不会被 servlet 接收。
因此您的代码应该是:
<div class="container">
<form action="/path" method="POST">
<div class="header">
<h1>RPG</h1>
</div>
<div class="left">
<img src="images/hero.png" width="300" height="300" class="hero">
<input type="number" class="heroNumber" min="1" max="3" value="1" name="heroes">
</div>
<div class="middle">
<p class="VS">VS.</p>
<form action="battle.jsp" method="post" name="form1">
<input type="submit" value="Fight" class="submitFight">
</form>
</div>
<div class="right2">
<img src="images/wolf.png" width="152" height="150" class="wolf">
<input type="number" class="wolfNumber" min="1" max="5" value="1" name="wolfs">
</div>
<div class="right2">
<img src="images/orc.png" width="150" height="150" class="orc">
<input type="number" class="orcNumber" min="1"max="3" value="1" name="orcs">
</div>
</form>
</div>
另外,我建议不要使用这个:
int amountOrc = Integer.parseInt(request.getParameter("orcs"));
int amountWolf = Integer.parseInt(request.getParameter("wolfs"));
int amountHero = Integer.parseInt(request.getParameter("heroes"));
但是使用这个:
String orcs = request.getParameter("orcs");
String wolfs = request.getParameter("wolfs");
String heroes = request.getParameter("heroes");
if(orcs!=null&&wolfs!=null&&heroes!=null){
int amountOrc = Integer.parseInt(orcs);
int amountWolf = Integer.parseInt(wolfs);
int amountHero = Integer.parseInt(heroes);
}
无论如何,为了避免 NullPointerExceptions
或用户尝试抛出一个。