HTTP Status 500 - type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:516)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:423)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
root cause java.lang.NullPointerException
StudyCourse.DB.(DB.java:16)
StudyCourse.FirstAction.execute(FirstAction.java:30)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
note The full stack trace of the root cause is available in the Tomcat logs.
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:516)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:423)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
root cause java.lang.NullPointerException
StudyCourse.DB.(DB.java:16)
StudyCourse.FirstAction.execute(FirstAction.java:30)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
note The full stack trace of the root cause is available in the Tomcat logs.
解决方案 »
- spket安装问题
- 大家帮我看看,这里的javascript我传递的对象obj,该如何取值
- servlet衔接的问题
- 求jsp访问统计 sql版本
- 小问题 解决不了了
- 初级问题--我的java bean 找不到.急....在线等!
- rs.getDate("DocDate")取出的时间用什么方法可以分离出年份,月份,与日 吗
- 急征解决办法
- 老问题:在Tomcat server.xml中配置连接池(但错误不一样)
- 为何我得不到数据库中的记录!(在线等待)
- struts的问题Cannot find global ActionForward for name dd
- ★★这个问题还没有解决,明天怎么上班?!
FirstAction.execute()
第30行对象为NULL!
javax.http.servlet does not exit
javax.servlet.http does not exit
这是为什么啊. 我的servlet-api.jar struts.jar都放到classpath 里了.
package StudyCoure;import javax.sql.DataSource;
import java.sql.Connection;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import java.util.Vector;
import org.apache.struts.action.DynaActionForm;public final class FirstAction extends Action{
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
DynaActionForm courseTypeIdForm = (DynaActionForm) form;
Integer courseTypeId = (Integer)courseTypeIdForm.get("courseTypeId");
System.out.println("aaassa");
ServletContext context = servlet.getServletContext();
System.out.println(Constants.DATASOURCE_KEY);
DataSource dataSource = (DataSource)context.getAttribute(Constants.DATASOURCE_KEY);
if (dataSource==null){
System.out.println("aaaa");
}
DB db = new DB(dataSource);
int iTypeId=0;
if (courseTypeId!=null){
iTypeId= courseTypeId.intValue();
}
else{
iTypeId = CourseType.GetFirstCourseType(db);
}
Vector courseList = new Vector();
HttpSession session = request.getSession();
// String PageForward;
// ActionMessages errors = new ActionMessages();
session.setAttribute(Constants.COURSE_TYPE_LIST_KEY,CourseType.SearchCourseType(db));
courseList = Course.SearchCourse(db,iTypeId,"","");
session.setAttribute(Constants.COURSE_LIST_KEY,courseList);
db.close();
return (mapping.findForward("toCourseMain"));
}}
Integer courseTypeId = (Integer)courseTypeIdForm.get("courseTypeId");
改为
int courseTypeId = Integer.parseInt(courseTypeIdForm.get("courseTypeId"));
你调试一下看
改成
int courseTypeId = Integer.parseInt(courseTypeIdForm.get("courseTypeId"));还有
DataSource dataSource = (DataSource)context.getAttribute(Constants.DATASOURCE_KEY);
貌似也不该是这么写的。
<servlet-name>actionServlet</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
</servlet> <!-- Action Servlet Mapping -->
<servlet-mapping>
<servlet-name>actionServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
找到对应
"StudyCourse.FirstAction.execute(FirstAction.java:30)"
这一行的代码,察看对应变量的取值是否正确;Good Luck.
看用到了传入的哪个值
仔细查看struts配置文件/
你引用了DB这个包了?我怎么没在Import里看到呢