Servlet:空白屏幕

问题描述:

我正在使用Eclipse IDE和下面的代码在浏览器上给出空白屏幕。我不知道为什么它显示空白屏幕。有什么想法吗? 在此先感谢。Servlet:空白屏幕

/** 
* 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'以及如何尝试访问这个servlet。一旦完成了你的'PrintWriter',你应该也可以调用'out.close()'。 – 2013-02-20 19:05:26

+0

感谢您的回复!!我已经用Deployment descripotor文件添加了我的帖子。我尝试了out.close仍然变黑屏。 – User1123123 2013-02-20 19:16:54

+0

什么是您的请求网址? – 2013-02-20 19:18:22

尝试是这样的:

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> 
} 

上面的代码接受GET和POST

+0

我写的方式与您所提到的相同,但仍然出现空白屏幕:( – User1123123 2013-02-20 19:38:12

+0

)您有一些System.out.println()语句。日期字符串是否打印到控制台?任何服务器错误日志?当你右键点击浏览器并选择“查看源代码”时,你是否看到任何html源代码? – Lan 2013-02-20 21:33:53

+0

@Surge:谢谢你的回复。没有不在控制台上显示日期。我也检查了源.Source也仅作为空白处理。 – User1123123 2013-02-21 17:22:07