web页面跳转时出错,求救

YangMacgrady 2010-03-26 10:00:06
代码有点多吧,希望好心人能运行一下帮帮,还是那句话不到最后时刻不会来劳烦大家,也没多少分啊……

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) {


请好心的人有闲情的人帮看看……

...全文
153 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
YangMacgrady 2010-03-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 javaalpha 的回复:]
Java code
String[] paramValues = request.getParameterValues("paramName");


这句没获取到内容 所以就出现了null 异常了。
[/Quote]
恩 我明早修改下,现在要断电了
YangMacgrady 2010-03-26
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 justchenjie 的回复:]
paramValue位NULL,另外,你的获取request方法我有点不理解!有点不像是Map构造啊
[/Quote]
我那段注释了。。。
为null 应该怎样解决啊 判断下吗,有人写出来么,谢谢
YangMacgrady 2010-03-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wlxtaking 的回复:]
paramValues为空的时候调用它的方法就会出现空指针异常的。。。你用打印的方法看看这个是不是为空啊。。
[/Quote]
啊,我写入了东西 不是空啊 为什么还抛···
justchenjie 2010-03-26
  • 打赏
  • 举报
回复
paramValue位NULL,另外,你的获取request方法我有点不理解!有点不像是Map构造啊
JavaAlpha 2010-03-26
  • 打赏
  • 举报
回复
String[] paramValues = request.getParameterValues("paramName");


这句没获取到内容 所以就出现了null 异常了。
friendly_ 2010-03-26
  • 打赏
  • 举报
回复
判断paramValues是否为null
wlxtaking 2010-03-26
  • 打赏
  • 举报
回复
paramValues为空的时候调用它的方法就会出现空指针异常的。。。你用打印的方法看看这个是不是为空啊。。
javafx 2010-03-26
  • 打赏
  • 举报
回复
帮顶 帮顶 帮顶

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧