问答详情
源自:1-3 手工编写第一个Servlet

为什么跳转的是空白页?

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
    <%
     String path=request.getContextPath();
     String basePath=request.getScheme()+"://"+request.getServerName()+":"+request.getRemoteAddr();
 %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<base  href="<%=basePath%>">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<h1>第一个servlet小例子</h1>
<hr>
<a href="servlet/HelloServlet">Get方式请求HelloServlet</a>
</body>
</html>




package servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//继承于HttpServlet
public class HelloServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        System.out.println("处理Get()请求。。。");
        PrintWriter out=response.getWriter();
        out.println("<p><strong>HelloServlet</strong></p><br>");
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        System.out.println("处理Post()请求。。。");
    }

}



 <display-name>MyFirstServletDemo</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>
  <servlet-name>HelloServlet</servlet-name>
  <servlet-class>servlet.HelloServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  <servlet-name>HelloServlet</servlet-name>
  <url-pattern>/servlet/HelloServlet</url-pattern>
  </servlet-mapping>
 
</web-app>

提问者:weibo_慕移动8059783 2016-06-20 01:17

个回答

  • 陷入编程无法自拔的江北
    2016-11-01 21:26:26

    我和你同样的情况。

    在HelloServlet.java里头加上

     /**
      *
      */
     private static final long serialVersionUID = 1L;

    (PS:这是一个警告,我也不知道什么原因让警告导致空白页)

  • 连宏伟HW
    2016-07-14 18:50:16

    在输出之前添加一句response.setContentType("text/html;charset=UTF-8");试试看

  • 黄小纠
    2016-06-20 16:17:16

     doGet方法没写对吧,要依据完整的HTML格式写。

    response.setContentType("text/html;charset=utf-8");

    PrintWriter out = response.getWriter();

    out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");

    out.println("<HTML>");

    out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");

    out.println("  <BODY>");

    out.println("<p><strong>HelloServlet</strong></p><br>");

    out.println("  </BODY>");

    out.println("</HTML>");

    out.flush();

    out.close();