java.lang.NullPointerException
org.apache.jsp.zhuanye.listZY_jsp._jspService(org.apache.jsp.zhuanye.listZY_jsp:131)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1062)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:386)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:229)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

解决方案 »

  1.   

    type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1062)
    org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:386)
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:229)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
      

  2.   

    public class ZhuanyeAction extends BaseAction{
    public ActionForward add(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response) {
    List<Zhuanye> list = null;
    CollegeService collService =new CollegeService();
    list=collService.findAll();
    request.setAttribute("collegeList",list);
    ActionForward forward = mapping.findForward("add");
    return forward;
    }
    public ActionForward list(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response) {
    ZYService zys = new ZYService();
    List<Zhuanye> list =zys.findAll();
    request.setAttribute("zyList", list);
    return mapping.findForward("list");
    }
    public ActionForward insert(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response){
    ActionMessages messages = new ActionMessages();
    //ActionErrors errors =new ActionErrors();// 过期改用messages
    ZhuanyeForm zForm =(ZhuanyeForm)form;
    Zhuanye zy = new Zhuanye();
    //格式化字符 转换编码
    String zyid =(String)zForm.getZhuanyeId();
    if (zyid ==null)
    {messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
    "zhuanye.message.add.fail"));
    saveErrors(request, messages);
    request.setAttribute("zhuanyeFormBean", zForm);
    return mapping.findForward("add");
    }else{
    //zyid =new String(zyid.getBytes("ISO-8859-1"),"UTF-8");
    //中文乱码未解决
    ZYService zys = new ZYService();
    zy.setZhuanyeId(zyid);
    zy.setCollege(zForm.getCollege());
    zy.setZyname(zForm.getZyname());
    zys.save(zy);
    List<Zhuanye> list2 =zys.findAll();
    request.setAttribute("zyList",list2); return list(mapping,form,request,response);
    }

    }
    public ActionForward update(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response){
    String id = (String)request.getParameter("zhuanyeId");
    ZYService zys = new ZYService();
    Zhuanye zy =null;
    zy= zys.findById(id);
    request.setAttribute("zy", zy);
    return mapping.findForward("update");
    }
    public ActionForward saveUpdate(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response){
    ZhuanyeForm zForm =(ZhuanyeForm)form;
    ZYService zys = new ZYService();
    String id = (String)request.getParameter("zhuanyeId");
    Zhuanye zy =null;
    zy= zys.findById(id);
    zy.setZhuanyeId(id);
    zy.setCollege(zForm.getCollege());
    zy.setZyname(zForm.getZyname());
    zys.save(zy);
    return list(mapping, form, request, response);
    }
    public ActionForward delete(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response){
    String id = (String)request.getParameter("zhuanyeId");
    ZYService zys = new ZYService();
    Zhuanye zy =null;
    zy= zys.findById(id);
    zys.delete(zy);
    List list = zys.findAll();
    request.setAttribute("zyList", list);
    return list(mapping, form, request, response);
    }
    }
      

  3.   

    页面代码如下 zylist.jsp
    <%@ page language="java" pageEncoding="UTF-8"%><%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
    <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
    <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
    <%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %><%@ page import="com.study.domain.Zhuanye"%>
    <%@ page import="java.util.List"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html:html lang="true">
      <head>
        <html:base />
        
        <title>listZY.jsp</title> <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->  </head>
      <%
    List list = (List) request.getAttribute("zyList"); %>
      <body>
       <table width="100%" bgcolor="#D9EBBE">
       <tr>
       <td>当前位置:专业管理</td>
       <td align="right"><a href="/T10/zhuanye.do?method=add">新增专业</a></td>
       <td width="20"></td>
       
       </tr>
       
       </table>
       <table width="80%"  border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="blue">
    <tr bgcolor="#D9EBBE">
    <td width="20%" >专业编号</td>
    <td width="20%" >专业名称</td>
    <td width="40%" >所属学院</td>
    <td width="20%">操作</td>
    </tr>
    <%if (list != null) {
    for (int i = 0; i < list.size(); i++) {
    Zhuanye zy = (Zhuanye) list.get(i);
    %>
    <tr bgcolor="#FFFFFF">
    <td width="20%"><%=zy.getZhuanyeId()%>&nbsp;</td>
    <td width="20%"><%=zy.getZyname()%>&nbsp;</td>
    <td width="40%"><%=zy.getCollege().getCollegeName()%>&nbsp;</td>
    <td width="20%">
       <a href="/T10/zhuanye.do?method=update&collegeId=<%=zy.getZhuanyeId()%>">修改</a>
       <a href="/T10/zhuanye.do?method=delete&collegeId=<%=zy.getZhuanyeId()%>">删除</a></td>
    </tr>
    <%}
    }%>
      </body>
    </html:html>
      

  4.   

    第一,在页面中尽量不要包含JAVA代码
    第二. 
    <% 
    List list = (List) request.getAttribute("zyList"); 
    %>
    当zyList为空,页面会抛出此异常,对以个空的对象强制转型会出现此问题td width="20%"> <%=zy.getZhuanyeId()%>&nbsp; </td> 
    <td width="20%"> <%=zy.getZyname()%>&nbsp; </td> 
    <td width="40%"> <%=zy.getCollege().getCollegeName()%>&nbsp; </td> 
    <td width="20%"> 
      <a href="/T10/zhuanye.do?method=update&collegeId= <%=zy.getZhuanyeId()%>">修改 </a> 
      <a href="/T10/zhuanye.do?method=delete&collegeId= <%=zy.getZhuanyeId()%>">删除 </a> </td> 
    就是zyList不为空,zyList里某个对象的某个字段为空同样会抛出此异常,建议使用el表达式或者struts标签来显示数据