我正在學習servlets,我試圖創建一個小程序來獲得我創建的類的小時。但我有蜜蜂得到一個例外。下面是代碼:爲什麼這個例外Java?
用戶
package Business;
public class User {
private String userId;
public User() {
userId = "";
}
public User(String id) {
userId = id;
}
public void setUserId(String id) {
userId = id;
}
public String getUserId() {
return userId;
}
}
小時
package Business;
import java.util.Calendar;
import java.util.GregorianCalendar;
import business.User;
public class Hours {
private User user;
private Calendar cal = new GregorianCalendar();
private int min = 0;
public Hours(User user) {
this.user = user;
min = cal.get(Calendar.MINUTE);
}
public String getMinutes() {
return Integer.toString(min);
}
public User getUser() {
return user;
}
}
CheckUser
package process;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import Business.User;
import Business.Hours;
public class CheckUser extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String userId = request.getParameter("userID");
User user1 = new User(userId);
Hours h1 = new Hours(user1);
String url = "/show.jsp";
request.setAttribute("hours", h1);
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(url);
dispatcher.forward(request, response);
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String userId = request.getParameter("userID");
User user1 = new User(userId);
Hours h1 = new Hours(user1);
String url = "/show.jsp";
request.setAttribute("hours", h1);
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(url);
dispatcher.forward(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String userId = request.getParameter("userID");
User user1 = new User(userId);
Hours h1 = new Hours(user1);
String url = "/show.jsp";
request.setAttribute("hours", h1);
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(url);
dispatcher.forward(request, response);
}
}
指數
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Project</title>
</head>
<body>
<h1>Employees</h1>
<form action="<%=response.encodeURL("CheckUser")%>" method="get">
<input type="submit" value="Diogo">
<input type="hidden" name="userId" value="1">
</form>
</body>
</html>
顯示
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<%@ page import="Business.*, process.*" %>
<%
Hours h1 = (Hours) request.getAttribute("hours");
String userId =h1.getUser().getUserId();
%>
<h1><%= userId %></h1>
</body>
</html>
,從完成此請求防止 它異常
類型異常報告
消息
描述服務器遇到一個內部錯誤()。
例外
了java.lang.RuntimeException:不可編譯的源代碼 - 錯誤的構造函數符號類型:process.CheckUser.doGet(CheckUser.java:37) javax.servlet.http.HttpServlet.service(的HttpServlet .java:621) javax.servlet.http.HttpServlet.service(HttpServlet.java:722)note注意根本原因的 完整堆棧跟蹤可在Apache Tomcat/7.0.23日誌中找到。
這是迄今爲止一個堆棧溢出問題,太多的代碼。請將您的代碼減少到展示此問題所需的最低限度(請參閱http://sscce.org)。 – 2011-12-18 15:02:24
使用Eclipse或其他IDE來檢測彙編問題 – 2011-12-18 15:09:29