2015-04-07 10 views
1

У меня есть исходный код Servlet.исключение java.lang.NullPointerException в сервлет jsp и сервлет

SinhVien sv= new SinhVien(); 
    String url="../lienhepage.jsp"; 
    HttpSession session = request.getSession(true); 
    //RequestDispatcher rD; 
    //HttpSession session; 
    if(request.getParameter("searchword")!= ""){ 
     String result= ""; 
     result= ZendCodeHTML.ZendCodeTag(sv.getDataTag(request.getParameter("searchword"))); 
     response.setContentType("text/plain"); 
     response.setCharacterEncoding("UTF-8"); 
     response.getWriter().write(result); 
    } 
    if(request.getParameter("NienKhoa") != ""){ 
     List<String> result= getData(request.getParameter("NienKhoa")); 
     session.setAttribute("tieude", result.get(0)); 
     session.setAttribute("danhsachsinhvien", result.get(1)); 
     session.setAttribute("cacmongiangday", result.get(2)); 
     session.setAttribute("noidunghuongdanmonhoc", result.get(3));  
    } 
    RequestDispatcher rD= request.getRequestDispatcher(url); 
    rD.forward(request, response); 

Когда я нажимаю ссылку на страницу JSP имеет URL =»../ lienheservlet? NienKhoa = 2010-2015" , то код сервлета работать нормально. Но когда код функции запуска rD.forward(request, response); то есть исключение вроде этого:

java.lang.NullPointerException 
javacore.controller.lienheservlet.doGet(lienheservlet.java:115) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:618) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:725) 
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393) 

Я не знаю, почему? пожалуйста помогите!

+0

Что делает Javadoc из 'getRequestDispatcher' сказать? –

+0

@SotiriosDelimanolis, когда я отлаживаю функцию запуска RequestDispatcher rD = request.getRequestDispatcher (url); сделано тогда rD = null; Я не знаю почему? –

+0

Что говорит javadoc 'getRequestDispatcher'? –

ответ

0

Я думаю, это потому, что URL-адрес не является правильным,

стараются не использовать относительный путь, но абсолютный путь. (например, «/lienhepage.jsp»)

0

Проверьте, правильно ли установлен url (кажется, что это относительный путь, так что проверьте снова), что означает, что файл jsp разрешен с использованием этого относительного пути.

getRequestDispatcher вернет нулевое значение, если он не может создать оболочку для этого URL

Это возможная причина, чтобы получить null в

RequestDispatcher rD= request.getRequestDispatcher(url); 
Смежные вопросы