HTTP Status 500
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>