Java网络servlet不能正常工作
问题描述:
我有一个真正的网页使用cPanel托管,我开始学习java web开发。我只使用两个文件:index.jsp & FirstServlet.java。 HTML页面只是没有使用Java代码,我不太清楚为什么,我从演示中获得了代码以获得启动参考。Java网络servlet不能正常工作
的index.jsp:
<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=US-ASCII"
pageEncoding="US-ASCII"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Hello</title>
</head>
<body>
<h2>Hi There!</h2>
<br>
<h3>Date=<%= new Date() %>
</h3>
</body>
</html>
FirstServlet.java:
package com.journaldev.first;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class FirstServlet
*/
@WebServlet(description = "My First Servlet", urlPatterns = { "/FirstServlet" , "/FirstServlet.do"}, initParams = {@WebInitParam(name="id",value="1"),@WebInitParam(name="name",value="pankaj")})
public class FirstServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public static final String HTML_START="<html><body>";
public static final String HTML_END="</body></html>";
/**
* @see HttpServlet#HttpServlet()
*/
public FirstServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
Date date = new Date();
out.println(HTML_START + "<h2>Hi There!</h2><br/><h3>Date="+date +"</h3>"+HTML_END);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
}
结果:
答
重命名index.html
到index.jsp
。 JSP编译器不知道这是它应该编译的文件。
编辑
要运行JSP你需要一个servlet容器内运行。一个servlet容器可以解析JSP并创建输出。看起来你只是在像Apache这样的简单的web服务器上运行。你的CPanel环境是否支持Java?它看起来不是基于你展示的内容。
一个非常常见的servlet容器是Tomcat。即使你刚刚入门,Tomcat文档也非常好。
答
中的index.html应该被重新命名为
的index.jsp第二个是正常的.java文件(servlet的),你正在试图使它的JSP文件。
+0
我做到了,并没有完全解决问题。做完您提出的解决方案后,请阅读我的更新结果 –
现在页面显示的是实际的index.jsp代码,而不是代码试图显示的内容 –
@RyanCocuzzo - 不确定你的意思。你能详细说明吗? – stdunbar
刚刚更新的问题,以显示结果 –