2013-02-20 5 views
0

Я использую Eclipse IDE, а ниже код дает пустой экран в браузере. Я не знаю, почему он показывает пустой экран. Есть идеи? Спасибо заранее.Servlet: blank screen

/** 
* Servlet implementation class Ch1Servlet 
*/ 
public class Ch1Servlet extends HttpServlet { 
    private static final long serialVersionUID = 1L; 


    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     // TODO Auto-generated method stub 
     // TODO Auto-generated method stub 
     PrintWriter out=response.getWriter(); 
     Date dat=new Date(); 
     System.out.println(dat); 
     out.println("<html>" + "<body>" + "<h1>Heello world</h1>" + dat + "</body>" + "</html>");  
    } 

    /** 
    * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 
    */ 
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

    } 
} 

Файл описания дескриптора развертывания. web.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> 
    <display-name>Monte</display-name> 
    <welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
    <welcome-file>index.htm</welcome-file> 
    <welcome-file>index.jsp</welcome-file> 
    <welcome-file>default.html</welcome-file> 
    <welcome-file>default.htm</welcome-file> 
    <welcome-file>default.jsp</welcome-file> 
    </welcome-file-list> 
    <servlet> 
    <description></description> 
    <display-name>Ch1Servlet</display-name> 
    <servlet-name>Ch1Servlet</servlet-name> 
    <servlet-class>Ch1Servlet</servlet-class> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>Ch1Servlet</servlet-name> 
    <url-pattern>/Ch1Servlet</url-pattern> 
    </servlet-mapping> 
</web-app> 
+1

Пожалуйста, покажите ваш 'serlvet-mapping'' url' и как вы пытаетесь для доступа к этому сервлету. Вероятно, вы также должны называть 'out.close()' как только вы закончите с вашим 'PrintWriter'. –

+0

Спасибо за ваш ответ !! Я добавил сообщение с Deployment descripotor file.I попытался с out.close все еще получать пустой экран. – User1123123

+0

Каков твой запрос? –

ответ

0

Попробуйте что-то вроде этого:

package package; 


/** 
    * 
    * @author 
    */ 
    public class Ch1Servlet extends HttpServlet { 



/** 
* Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods. 
* @param request servlet request 
* @param response servlet response 
*/ 
protected void processRequest(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException { 
    response.setContentType("text/html;charset=UTF-8"); 
    PrintWriter out = response.getWriter(); 
    try { 
     //you code here 
    } catch (Exception exc) { 
     throw new MyException(exc); 
    }finally{ 
      out.close() 
     } 
} 


// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."> 

/** 
* Handles the HTTP <code>GET</code> method. 
* @param request servlet request 
* @param response servlet response 
*/ 
@Override 
protected void doGet(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException { 
    processRequest(request, response); 
} 

/** 
* Handles the HTTP <code>POST</code> method. 
* @param request servlet request 
* @param response servlet response 
*/ 
@Override 
protected void doPost(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException { 
    processRequest(request, response); 
} 

/** 
* Returns a short description of the servlet. 
*/ 
@Override 
public String getServletInfo() { 
    return "Short description"; 
} 
// </editor-fold> 
} 

Приведенный выше код принимает как получить и после

+0

Я написал так же, как вы упомянули. Но все равно получает пустой экран :( – User1123123

+0

У вас есть инструкция System.out.println(). Была ли строка даты напечатана на консоли? Любой журнал ошибок на сервере? И когда вы щелкните правой кнопкой мыши на своем браузере и выберите «источник просмотра», вы видите какой-либо источник html? – Lan

+0

@Surge: Спасибо за ваш ответ. не показывая дату на консоли. Я также проверил источник. Источник также приходит только как пустой. – User1123123

Смежные вопросы