HTTP Status 500

xiaxiaosheng 2010-03-24 12:05:19
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
servlets.AddLeagueServlet.doGet(AddLeagueServlet.java:29)
servlets.AddLeagueServlet.doPost(AddLeagueServlet.java:91)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Apache Tomcat/5.0.30 logs.


--------------------------------------------------------------------------------

Apache Tomcat/5.0.30
知道是空指针异常,不知道怎么改

代码:package servlets;

import java.io.IOException;
import java.io.PrintWriter;

import javabeans.ErrorInfo;
import javabeans.League;
import javabeans.LeagueList;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class AddLeagueServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException {
response.setContentType("text/html;charset=GBK");
PrintWriter out = response.getWriter();
HttpSession session = request.getSession(true);

String yearStr = request.getParameter("year").trim();
String season = request.getParameter("season").trim();
String title = request.getParameter("title").trim();
int year = -1;

if (!request.getParameter("isscript").equals("true")) {
ErrorInfo errorMsgs = new ErrorInfo();
try {
try {
year = Integer.parseInt(yearStr);
} catch (NumberFormatException nfe) {
errorMsgs
.add("The 'year' field must be a positive integer.");
}

// Verify form parameters
if ((year != -1) && ((year < 2000) || (year > 2010))) {
errorMsgs.add("The 'year' field must within 2000 to 2010.");
}
if (season.equals("UNKNOWN")) {
errorMsgs.add("Please select a league season.");
}
if (title.length() == 0) {
errorMsgs.add("Please enter the title of the league.");
}

// Send the user back to the AddDVD form, if there were errors
if (!errorMsgs.isEmpty()) {
request.setAttribute("errorMsgs", errorMsgs);
RequestDispatcher view = request
.getRequestDispatcher("/errorpage.jsp");
view.forward(request, response);
return;
}
} catch (Exception e) {
errorMsgs.add(e.getMessage());
try {
RequestDispatcher view = request
.getRequestDispatcher("/admin/add_league.html");
view.forward(request, response);
} catch (ServletException e1) {
e1.printStackTrace();
}
e.printStackTrace(System.err);
}
}

League league = new League(year, season, title);
LeagueList list = (LeagueList) session.getAttribute("list");
list.add(league);

// request.setAttribute("league", league);
try {
RequestDispatcher view = request
.getRequestDispatcher("/success.jsp");
view.forward(request, response);
} catch (ServletException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return;

}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
doGet(request, response);
}
}



<html>
<head>
<title>Duke's Soccer League: Add a New League</title>
</head>
<body onload="checkscript()">
<input type="hidden" name="isscript" value="false">
<script type="text/javascript">
//客户端验证函数
function check()
{
//检查所有的标签元素
with(document.all){
//如果是年份,检查不能为空
if(year.value=="")
{
alert("年份不能为空!");
return false;
}

//如果是年份,检查不能为非数字
if(isNaN(year.value))
{
alert("年份不能为非数字!");
return false;
}

//如果是年份,检查有效范围
var today = new Date();
if(year.value<2000 || year.value>today.getYear())
{
alert("年份范围错误!");
return false;
}

//如果是赛季,检查不能为UNKNOWN
if(season.value=="UNKNOWN")
{
alert("赛季不能为UNKNOWN");
return false;
}

//如果是标题,检查不能为空
if(title.value=="")
{
alert("标题不能为空!");
return false;
}

//只有全部正确,才能提交表单
document.forms[0].submit();
return true;
}
}
function checkscript()
{
document.getElementById("isscript").value="true";
//document.getElementsByName("isscript")[0].value="true";
}
</script>

<!-- Page Heading -->
<table border='1' cellpadding='5' cellspacing='0' width='400'>
<tr bgcolor='#CCCCFF' align='center' valign='center' height='20'>
<td>
<h3>Duke's Soccer League: Add a New League</h3>
</td>
</tr>
</table>

<p>This form allows you to create a new soccer league.</p>
<form action='add_league.do' method='POST' >Year: <input
type='text' name='year' /> <br />
<br />
Season: <select name='season'>
<option value='UNKNOWN'>select...</option>
<option value='Spring'>Spring</option>
<option value='Summer'>Summer</option>
<option value='Fall'>Fall</option>
<option value='Winter'>Winter</option>
</select> <br />
<br />

Title: <input type='text' name='title' /> <br />
<br />
<input type='button' value='Add League' onclick="check()">
    <input type="reset" name="reset" value="重置"></form>
</body>
</html>
...全文
104 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
哦哦哦
xiaxiaosheng 2010-03-26
  • 打赏
  • 举报
回复
多谢楼上的帮忙,终于找出问题所在了。应该把(!request.getParameter("isscript").equals("true")) 改成if (!request.getParameterNames().equals("true"))
xiaxiaosheng 2010-03-24
  • 打赏
  • 举报
回复
那请问我该如何改呢
zhouxuegangjava163 2010-03-24
  • 打赏
  • 举报
回复
是空指针的引用。
xiaxiaosheng 2010-03-24
  • 打赏
  • 举报
回复
这三个值都有打印 出来,是不是那个isscript的问题?
iso_wangjian 2010-03-24
  • 打赏
  • 举报
回复
调试下,看看取过来的值是不是为空,这 样很难看错是那个值没有得到。或者用System.out.print()打印下取过来的String yearStr = request.getParameter("year").trim();
String season = request.getParameter("season").trim();
String title = request.getParameter("title").trim();

这几个值
iso_wangjian 2010-03-24
  • 打赏
  • 举报
回复
调试下,看看取过来的值是不是为空,这 样很难看错是那个值没有得到。或者用System.out.print()打印下取过来的String yearStr = request.getParameter("year").trim();
String season = request.getParameter("season").trim();
String title = request.getParameter("title").trim();

这几个值
xiaxiaosheng 2010-03-24
  • 打赏
  • 举报
回复
不好意思,我是大三学生刚刚学习jsp,很不熟悉,你能说的明白点吗
xiayuqijava 2010-03-24
  • 打赏
  • 举报
回复
看request接收的参数有没有值或者是前台页面有没有传name为request.getParameter("")中的值

81,091

社区成员

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

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