我在 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 oftext/html
and calling this method with the String ofUTF-8
is equivalent with callingsetContentType
with the String oftext/html; charset=UTF-8
.
关于java - Tomcat 只允许我下载 servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24970033/