web页面跳转时出错,求救
代码有点多吧,希望好心人能运行一下帮帮,还是那句话不到最后时刻不会来劳烦大家,也没多少分啊……
java servlet代码:import java.io.IOException;
import java.io.PrintWriter;
import java.util.Collections;
import java.util.Enumeration;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ShowParameters extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=gb2312");
PrintWriter pw = response.getWriter();
String title = "Reading All Request Parameters";
pw.println("<html><head><title>读取所有参数</title></head>"
+ "<body bgcolor='#FDF5E6' >\n" + "<h1 align=center" + title
+ "</h1>\n" + "<table border=1 align=center>\n"
+ "<tr bgcolor=\"#FFAD00\">\n"
+ "<th>Parameter Name<th>Parameter Value(s)");
/*Map paramNames = request.getParameterMap();
while (!paramNames.isEmpty()) {
Collections paramName = (Collections) paramNames.values();
pw.print("<tr><td>"+ paramName +"\n<td>");
String[] paramValues = request.getParameterValues("paramName");
*/
Enumeration paramNames = request.getParameterNames();
while (paramNames.hasMoreElements()) {
String paramName = (String) paramNames.nextElement();
pw.print("<tr><td>"+ paramName +"\n<td>");
String[] paramValues = request.getParameterValues("paramName");
if (paramValues.length == 1) {
String paramValue = paramValues[0];
if (paramValues.length == 0)
pw.println("<i>No Value</i>");
else
pw.println(paramValue);
} else {
pw.println("<ul>");
for (int i=0; i<paramValues.length;i++){
pw.println("<li>" + paramValues[i]);
}
pw.println("</ul>");
}
}
pw.println("</table>\n</body></html>");
}
}
HTML代码:
<!doctype html public "-//W3C//dtd html 4.0 Transitional//EN">
<html>
<head>
<title> A Sample FORM using Get </title>
</head>
<body bgcolor="#FDF5E6">
<h1 align="center"> A Sample PORM using POST</h1>
<form action="servlet/ShowParameters"
method="get">
Item Number: <input type="text" name="iteamNum"><br>
Quantity: <input type="text" name="quantity"><br>
Price Each: <input type="text" name="price" value="$"><br>
<hr>
First Name: <input type="text" name="firstName"><br>
Last Name: <input type="text" name="lastName"><br>
Middle Initial: <input type ="text" name="initial"><br>
Shipping Address:
<textarea name="adress" rows=3 cols=40></textarea><br>
Gredit Card:<br>
<input type="radio" name="cardType"
value="Visa">Visa<br>
<input type="radio" name="cardType"
value="Master Card">Master Card<br>
<input type="radio" name="cardType"
value="amex">Americal Express<br>
<input type="radio" name="cardType"
value="Discover">Discover<br>
<input type="radio" name="cardType"
value="Java SmartCard">Java SmartCard<br>
Credit Card Number:
<input type="password" name="cardNum"><br>
Repeat Credit Card Number:
<input type="password" name="cardNum"><br><br>
<center>
<input type="submit" value="Submit Order">
</center>
</form>
</body>
</html>
servlet部署是成功的,可以访问:http://172.28.4.102:8080/myapp/servlet/ShowParameters
静态网页也能访问: http://172.28.4.102:8080/myapp/ShowParametersForm.htm
提交订单的时候跳转出错抛空指针错误啊:
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
java.lang.NullPointerException
ShowParameters.doGet(ShowParameters.java:36)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
filters.ExampleFilter.doFilter(ExampleFilter.java:101)
第36行没什么错啊就是个if语句:if (paramValues.length == 1) {
请好心的人有闲情的人帮看看……