java - Tomcat 只允许我下载 servlet

标签 java eclipse tomcat servlets

我在 Eclipse 中遇到 Tomcat 问题;当我运行一个 Simple Servlet 时,Tomcat(在 Eclipse 中)没​​有向我显示该页面,但它要求我下载它! 有代码。我能做些什么来修复它?源码在..Documents\Workspace\Servlet02\src\mypkg\SimpleServlet

package mypkg;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.*;

@SuppressWarnings("unused")
@WebServlet(name = "SimpleServlet", urlPatterns = {"/SimpleServlet"})
public class SimpleServlet extends HttpServlet {

    Date currDateAndTime;

    private static final long serialVersionUID = 1L;

    protected void processRequest(HttpServletRequest request , HttpServletResponse response) throws IOException , ServletException{
        response.setContentType("html/text ; charset=UTF-8 ");
        PrintWriter out = response.getWriter();
        try {
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet CurrentDateAndTime</title>");
            out.println("</head>");
            out.println("<body>");
            out.println("<h1>Servlet CurrentDateAndTime at " + request.getContextPath() + "</h1>");
            out.println("<br/>");
            synchronized(currDateAndTime){
                currDateAndTime = new Date();
                out.println("The current date and time is: " + currDateAndTime);
            }
            out.println("</body>");
            out.println("</html>");
            } finally {
            out.close();
            }
    }
    @Override
    protected void doGet(HttpServletRequest request , HttpServletResponse response)  throws IOException , ServletException{
        processRequest(request,response);
    }

    @Override
    protected void doPost(HttpServletRequest request , HttpServletResponse response) throws IOException , ServletException{
        processRequest(request,response);
    }

    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>


}

最佳答案

问题是由于下面一行。

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

应该是

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

或者完全删除或者使用

response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");

Documentation 中阅读更多相关信息

Calling setContentType(java.lang.String) with the String of text/html and calling this method with the String of UTF-8 is equivalent with calling setContentType with the String of text/html; charset=UTF-8.

关于java - Tomcat 只允许我下载 servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24970033/

相关文章:

tomcat - 我在 tomcat server@local host[Stopped,Synchronized] 上遇到问题

apache - 看起来我可以在 mod_proxy 中比 mod_cluster 做更多?

具有多个字段的 Java JTable 对象

java - 无法从嵌套json改造android studio中获取值(value)

java - 无法通过 Olap4J API 连接到 OLAP Cube

java - 如何使用 eclipse 和 jboss 在 java 中制作 Facebook 应用程序?

java - webapplication Java 中的线程

java - Java 中关联数组结构的最佳实践(与 PHP 相比)

java - JUnit 插件测试忽略目标平台

java - 在Eclipse中添加分支