各位师兄师姐好,我用jsp 想servlet里面传值老是出java.lang.NullPointerException 错误,急,希望大家帮忙看看jsp
<c:if test = "${empInfoList == null}">
    <jsp:forward page="ServletEmpInfo?method=all"/>
</c:if>servlet
  EmpInfoDao empDao = new EmpInfoDao();
/**
 * 查询显示所有律师信息
 */
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException 
{
String method = request.getParameter("method");
System.out.println("dddddddddddddddddddddddddddddddddddd"+method);
if(method.equals("all"))
{
List empInfoList = empDao.getEmpInfo();
request.setAttribute("empInfoList", empInfoList);
//转发
request.getRequestDispatcher("hanboLawyer/SpecialtyTeam.jsp").forward(request, response);
}
}
补充:这个method 输出来以后老是空的,怎么回事
错误消息如下:
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception java.lang.NullPointerException
project.servlet.whl.ServletEmpInfo.doGet(ServletEmpInfo.java:25)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.20 logs.

解决方案 »

  1.   

    你直接在浏览器输入..../ServletEmpInfo?method=all 看看什么情况
      

  2.   

    String method = request.getParameter("method");这里进来了吗?jsp:forward page="ServletEmpInfo?method=all"/>
    这里应该是ServletEmpInfo.do或是.什么吧,你应该有配置的吧
      

  3.   

    你这样传参数
    <jsp:forward page="ServletEmpInfo">
    <jsp:param name="method" value="all"/>
    </jsp:forward>
      

  4.   

    3楼 你好,这样还是不行 method 还是输出空的
      

  5.   

     这样写试试<jsp:forward page="ServletEmpInfo?"method="all"/>
      

  6.   

    <jsp:forward page=ServletEmpInfo?method="all"/>
      

  7.   

    <jsp:forward page="/ServletEmpInfo?method=all"></jsp:forward>
    这样看看是不是可以?
      

  8.   

    整个页面复制不上来了 太长了 就<c:if test = "${empInfoList == null}">
        <jsp:forward page="ServletEmpInfo?method=all"/>
    </c:if> 这个method老是空的 不知道怎么回事 谢谢各位帮忙
      

  9.   

    <jsp:forward page="ServletEmpInfo">
    <jsp:param name="method" value="all"/>
    </jsp:forward>
    看看这样行不?
      

  10.   

    java.lang.NullPointerException
    project.servlet.whl.ServletEmpInfo.doGet(ServletEmpInfo.java:25)
    第25行在哪?
      

  11.   

    是不是你的request对象出问题了?
    能不能把部分代码贴出来看看
    想这样看,是看不出问题的
    因为这段代码是正常的
    有可能是别的代码影响了它的
    所以我建议你一段一段的贴出来,让大伙帮你解决掉
      

  12.   

    把form的提交方式改为get方式!!!
      

  13.   

    ServletEmpInfo
    package project.servlet.whl;import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.List;import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;import project.dao.whl.EmpInfoDao;
    //王宏亮 律师Servlet (2010-9-28)
    public class ServletEmpInfo extends HttpServlet 
    {
    EmpInfoDao empDao = new EmpInfoDao();
    /**
     * 查询显示所有律师信息
     */
    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException 
    {
    String method = request.getParameter("method");
    System.out.println("dddddddddddddddddddddddddddddddddddd"+method);
    if(method.equals("all"))    //这是第25行 {
    List empInfoList = empDao.getEmpInfo();
    request.setAttribute("empInfoList", empInfoList);
    //转发
    request.getRequestDispatcher("hanboLawyer/SpecialtyTeam.jsp").forward(request, response);
    }
    } /**
     * 
     */
    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    doGet(request,response);
    }}
      

  14.   

    jsp页面
    <%@ page language="java" import="java.util.*,project.servlet.whl.*,project.entity.whl.*" pageEncoding="gbk"%>
    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><c:if test = "${empInfoList == null}">
        <jsp:forward page="ServletEmpInfo?method=all"></jsp:forward>
    </c:if>
    <html>
      <head>
        
        <title>专业团队</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="css/specialtyTeamNew.css"></link>
    <link rel="stylesheet" type="text/css" href="css/other.css"></link>
      

  15.   


    我是想说使用表单的get方式提交就应该没问题了
      

  16.   

    jsp页面<div style="width:567px; margin-left:15px; margin-top:10px;">
    <c:forEach items="${empInfoList}" var="emp">
       <table width="595" border="0" style="font-size:13px;color:#797979;margin-bottom:15px;table-layout:fixed;">
      <tr>
    <td width="100" align="left">${emp.empName}&nbsp;More>>></td>
    <td width="150"  align="center">${emp.empJob}</td>
    <td align="center" width="150" style="white-space:nowrap;word-break:keep-all;overflow:hidden;text-overflow:ellipsis;">${emp.empRealm}</td>
    <td width="155" align="center">${emp.empLanguage}</td>
      </tr>
    </table>
    <div class="hrGOWHL"></div>
    </c:forEach>
      </div>
      

  17.   


    或者把<jsp:forward page="ServletEmpInfo?method=all"></jsp:forward>改为<a>标签的方式
      

  18.   

    页面 </head>
    <c:if test = "${empInfoList == null}">
        <jsp:forward page="ServletEmpInfo?method=all"></jsp:forward>
    </c:if>
    <body>
    <form id="form1" method ="get">
    <div  class="centerALLWHL">改了 还是不行啊 !!
      

  19.   

    我刚刚把你的代码复制到我的这试了一下,没有任何问题
    //////////////////////////////////////////////////////////////////
    import java.io.IOException;import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;public class ServletEmpInfo extends HttpServlet { /**
     * 查询显示所有律师信息
     */
    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    String method = request.getParameter("method");
    System.out.println("dddddddddddddddddddddddddddddddddddd" + method);
    if (method.equals("all")) {
    System.out.println("ok");
    }
    } /**
     * 
     */
    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    doGet(request, response);
    }}
    /////////////////////////////////////////////////
    <%@ page language="java" import="java.util.*" pageEncoding="gbk"%> 
    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    <c:if test = "${empInfoList == null}">
      <jsp:forward page="ServletEmpInfo?method=all"></jsp:forward>
    </c:if> 
    /////////////////////////////////////////////////////
     <servlet>
        <description>This is the description of my J2EE component</description>
        <display-name>This is the display name of my J2EE component</display-name>
        <servlet-name>ServletEmpInfo</servlet-name>
        <servlet-class>ServletEmpInfo</servlet-class>
      </servlet>  <servlet-mapping>
        <servlet-name>ServletEmpInfo</servlet-name>
        <url-pattern>/ServletEmpInfo</url-pattern>
      </servlet-mapping>
    //////////////////////////////////////////////////
    如果还不行,你就把服务器停一下,在删掉以前的部署文件,再重写部署一下,再运行一下
      

  20.   

    26楼你好 谢谢你 可是还是不行 重新部署,删掉tomcat 里面的文件都不行 这是怎么回事啊 难道是我的Web.xml文件有问题吗?
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
     
     <servlet>
      <servlet-name>sr</servlet-name>
      <servlet-class>com.servlet.ServletReg</servlet-class>
      <init-param>
       <param-name>character</param-name>
       <param-value>utf-8</param-value>
      </init-param>
     </servlet>
     
     <servlet>
      <servlet-name>sl</servlet-name>
      <servlet-class>com.servlet.ServletLogin</servlet-class>
      <init-param>
       <param-name>character</param-name>
       <param-value>utf-8</param-value>
      </init-param>
     </servlet>
     
      <servlet>
        <servlet-name>servletListPage</servlet-name>
        <servlet-class>com.servlet.servletListPage</servlet-class>
        <init-param>
        <param-name>character</param-name>
        <param-value>utf-8</param-value>
        </init-param>
      </servlet>
      
      <servlet>
        <servlet-name>servletDetailPage</servlet-name>
        <servlet-class>com.servlet.servletDetailPage</servlet-class>
        <init-param>
        <param-name>character</param-name>
        <param-value>utf-8</param-value>
        </init-param>
      </servlet>
      
      <servlet>
        <servlet-name>sm</servlet-name>
        <servlet-class>com.servlet.ServletManager</servlet-class>
        <init-param>
        <param-name>character</param-name>
        <param-value>utf-8</param-value>
        </init-param>
      </servlet>
      
      <servlet>
        <servlet-name>servletIndex</servlet-name>
        <servlet-class>com.servlet.servletIndex</servlet-class>
        <init-param>
         <param-name>character</param-name>
         <param-value>utf-8</param-value>
        </init-param>
      </servlet>
      <servlet>
        <servlet-name>ServletEmpInfo</servlet-name>
        <servlet-class>project.servlet.whl.ServletEmpInfo</servlet-class>
      </servlet>
     <servlet-mapping>
      <servlet-name>sr</servlet-name>
      <url-pattern>/ServletReg</url-pattern>
     </servlet-mapping>
     
     <servlet-mapping>
      <servlet-name>sl</servlet-name>
      <url-pattern>/ServletLogin</url-pattern>
     </servlet-mapping>
     
      <servlet-mapping>
        <servlet-name>servletListPage</servlet-name>
        <url-pattern>/servletListPage</url-pattern>
      </servlet-mapping>
      
      <servlet-mapping>
        <servlet-name>servletDetailPage</servlet-name>
        <url-pattern>/servletDetailPage</url-pattern>
      </servlet-mapping>
      
      <servlet-mapping>
        <servlet-name>sm</servlet-name>
        <url-pattern>/ServletManager</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>servletIndex</servlet-name>
        <url-pattern>/servletIndex</url-pattern>
      </servlet-mapping>
      
      <servlet-mapping>
        <servlet-name>ServletEmpInfo</servlet-name>
        <url-pattern>/ServletEmpInfo</url-pattern>
      </servlet-mapping> <welcome-file-list>
      <welcome-file>ServletEmpInfo</welcome-file>
     </welcome-file-list>

     
     <login-config>
      <auth-method>BASIC</auth-method>
     </login-config>
    </web-app>
      

  21.   

    页面跳转应该放到servlet中,为何要放到jsp中呢?直接在servlet中判断,加个forward就好了