- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我不知道这里发生了什么。我使用 Date 数据类型将数据保存在数据库中,并且不断出现此错误 - 访问数据库时出错:javax.servlet.ServletException: java.lang.NoSuchMethodError: model.AddEvents.getStartDate()Ljava/lang/String;。我确信我的 servlet 部分有错误。我认为问题出在我的 servlet 和 java bean 中使用日期类型,因为最初我使用字符串并且它工作得很好。请帮助大家:)
package model;
import java.util.Date;
public class AddEvents{
private String title;
private String eventDesc;
private String StartTime;
private String EndTime;
private double Budget;
private java.util.Date StartDate;
private java.util.Date EndDate;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getEventDesc() {
return eventDesc;
}
public void setEventDesc(String eventDesc) {
this.eventDesc = eventDesc;
}
public String getStartTime() {
return StartTime;
}
public void setStartTime(String startTime) {
StartTime = startTime;
}
public String getEndTime() {
return EndTime;
}
public void setEndTime(String endTime){
EndTime=endTime;
}
public double getBudget() {
return Budget;
}
public void setBudget(double budget) {
Budget = budget;
}
public java.util.Date getStartDate() {
return StartDate;
}
public void setStartDate(java.util.Date startDate) {
StartDate = startDate;
}
public java.util.Date getEndDate() {
return EndDate;
}
public void setEndDate(java.util.Date endDate) {
EndDate = endDate;
}
}
AddEventsServlet:
package servlet;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.ListIterator;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import database.DBAO;
import database.Delete;
import model.AddEvents;
/**
* Servlet implementation class AddEventsServlet
*/
@WebServlet("/AddEventsServlet")
public class AddEventsServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public AddEventsServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//response.getWriter().append("Served at: ").append(request.getContextPath());
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//doGet(request, response);
AddEvents myEvent = new AddEvents();
//create an object based on the Java class customers
//Assignment of data
myEvent.setTitle(request.getParameter("Title"));
myEvent.setEventDesc(request.getParameter("EventDesc"));
myEvent.setStartTime(request.getParameter("StartTime"));
myEvent.setEndTime(request.getParameter("EndTime"));
myEvent.setBudget(Double.valueOf(request.getParameter("Budget")));
myEvent.setStartDate(java.sql.Date.valueOf(request.getParameter("StartDate")));
myEvent.setEndDate(java.sql.Date.valueOf(request.getParameter("EndDate")));
String title = request.getParameter("Title");
String eventDesc= request.getParameter("EventDesc");
String StartTime=request.getParameter("StartTime");
String EndTime =request.getParameter("EndTime");
double Budget=Double.valueOf(request.getParameter("Budget") );
//double Budget=request.getParameter("Budget");
Date StartDate=java.sql.Date.valueOf(request.getParameter("StartDate"));
Date EndDate=java.sql.Date.valueOf(request.getParameter("EndDate"));
System.out.println(myEvent.getTitle());
System.out.println(myEvent.getEventDesc());
System.out.println(myEvent.getStartTime());
System.out.println(myEvent.getEndTime());
System.out.println(myEvent.getBudget());
//System.out.println(myEvent.getStartDate());
//System.out.println(myEvent.getEndDate());
java.util.Date date = myEvent.getStartDate();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(date));
java.util.Date date1 = myEvent.getEndDate();
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf1.format(date1));
request.setAttribute("Title",title);
request.setAttribute("Details",eventDesc);
request.setAttribute("Start Time",StartTime);
request.setAttribute("End Time",EndTime);
request.setAttribute("Budget",Budget);
request.setAttribute("Start Date",StartDate);
request.setAttribute("End Date",EndDate);
try
{
DBAO myDatabase = new DBAO();
ArrayList <AddEvents> myEventList = myDatabase.getAddEvents(); //not needed
//AddEvents myEventDetails =myDatabase.isEvent(myEvent,title, eventDesc, StartTime, EndTime, Budget); //not needed
HttpSession myRequest = request.getSession(true); //not needed
request.setAttribute("EventList",myEventList); //not needed
System.out.println(myEventList.size()); //not needed
// you comment out the method that insert data to database
myDatabase.AddEvents(myEvent,title,eventDesc,StartTime,EndTime,Budget,StartDate,EndDate);
// the dispatcher can go to RetrieveServlet and let it handle the retrieve
//myDatabase.delete(myEvent,title,eventDesc,StartTime,EndTime,Budget,StartDate,EndDate);
//name of delete database
request.getRequestDispatcher("Retrieve.jsp").forward(request, response);
}catch(Exception ex)
{
System.out.println("Error Accessing Database:" +ex);
}
}
}
Retrieve.jsp:添加此内容是因为我刚刚意识到我的控制台在此 jsp 页面中显示错误 - Retrieve.jsp:java:183 它说
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<%@page import="model.AddEvents,java.util.ArrayList,java.util.ListIterator" %>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<script language="javascript">
function deleteRecord(id){
var f=document.form;
f.method="AddEvents";
f.action='delete.jsp?id='+id;
f.submit();
}
</script>
</head>
<body>
<%!ArrayList<AddEvents> myEventList; //have to declear in a declaration tag for access in the page %>
<% myEventList = (ArrayList<AddEvents>) request.getAttribute("EventList");
if(myEventList.size() == 0)
{
%>
<h2>No events</h2>
<%
}
else
{
%>
<table>
<%
ListIterator<AddEvents> li = myEventList.listIterator();
while(li.hasNext())
{
AddEvents myEvent = new AddEvents();
myEvent= (AddEvents)li.next();
%>
<%AddEvents event =(AddEvents)session.getAttribute("Event_Info"); %>
<tr><td>Title:</td><td><%= myEvent.getTitle() %></td><td></td></tr>
<tr><td>Details:</td><td><%= myEvent.getEventDesc() %></td><td> </td></tr>
<tr><td>StartTime:</td><td><%=myEvent.getStartTime() %></td><td></td></tr>
<tr><td>EndTime:</td><td><%= myEvent.getEndTime() %></td><td></td></tr>
<tr><td>Budget:</td><td><%=myEvent.getBudget()%></td><td></td></tr>
<tr><td>StartDate:</td><td><%=myEvent.getStartDate() %></td><td></td></tr>
<tr><td>EndDate:</td><td><%=myEvent.getEndDate() %></td>
<tr><td> <a href="delete.jsp"><img border="0" alt="delete" src="deleteIcon.png" width="20" height="20"></a></td>
<td><a href="AddEvent.jsp"><img border="0" alt="update" src="updateIcon.png" width="100" height="100"></a></td>
</tr>
<%}
%>
</table>
<%
}
%>
<input id='eventID' type="hidden" name="hiddEvent" value="">
<a href="AddEvent.jsp">Add Event</a>
</body>
</html>
最佳答案
您应该解析日期而不是System.out.println(myEvent.getStartDate());
Date date = myEvent.getStartDate()
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(date));
关于java - NoSuchMethodError: model.AddEvents.getStartDate()Ljava/lang/String;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45322737/
在 Tomcat 6/Ubuntu 12.04 上启动 Grails 2.1.0 应用程序时出现以下错误。 Error 500 - Internal Server Error. groovy.lang
在运行 Storm 拓扑时,我收到此错误。拓扑完美运行 5 分钟,没有任何错误,然后失败。我正在使用 Config.TOPOLOGY_TICK_TUPLE_FREQ_SECS as 300 sec i
我有一个 jsp 代码在其中一台机器上运行良好。但是当我复制到另一台机器时,我得到了这个 no such method found 异常。我是 Spring 的新手。有人可以解释我错过了什么吗? 以下
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我的代码在下面给出了一个错误; Exception in thread "main" java.lang.NoSuchMethodError: com/myApp/Client.cypherCBC(L
我正在尝试一个 Restful web 服务示例,所以当我要访问 url 时,我遇到了异常 java.lang.NoSuchMethodError: jersey.repackaged.com.goo
我正在将一个 Spring web 项目转换为一个 Maven 项目,但我收到了这个错误: java.lang.NoSuchMethodError: org.jboss.logging.Logger.
在我的项目中,我有一个像这样的枚举: public enum MyEnum { FIRST(1), SECOND(2); private int value; private MyEnum(int v
我创建了这个简单的示例,用于读取 Linux 正常运行时间: public String getMachineUptime() throws IOException { String[] di
我正在使用 Eclipse,并且正在使用 Java。我的目标是使用 bogoSort 方法对 vector 进行排序在一个 vector (vectorExample)中适应我的 vector 类型,
我正在运行以下查询。它显示一条错误消息。如何解决这个错误? ListrouteList=null; List companyList = session.createS
我有以下模型类: @Entity @Table(name="user_content") @org.hibernate.annotations.NamedQueries({ @org.
我有那个错误。这是我的代码: GmailSettingsService service = new GmailSettingsService(APPLICATION_NAME, DOMAIN_NAME
实际上我在执行我的java程序时遇到了下面提到的错误 Exception in thread "pool-1-thread-1" java.lang.ClassCastException: jav
java.lang.ClassCastException: java.lang.Float cannot be cast to java.lang.String 我在以下代码中遇到此异常: Strin
我正在尝试从 linkedhashset 中检索随机元素。下面是我的代码,但它每次都给我异常。 private static void generateRandomUserId(Set userIds
我已经完成了 Android 中的代码: List spinnerArray = new ArrayList(); for (int i = 0; i item = (LinkedTreeMap)
这个问题已经有答案了: Explanation of ClassCastException in Java (12 个回答) 已关闭 6 年前。 我已经编写了 java 到 Json 的代码,同时从页
这个问题在这里已经有了答案: ClassCastException java.lang.Long cannot be cast to clojure.lang.IFn (4 个答案) 关闭 6 年前
我在运行时遇到问题来编译这段代码,这给我一个错误,java.lang.Integer 无法转换为 Java.lang.Double。如果有人帮助我更正此代码,我将非常高兴 double x; pu
我是一名优秀的程序员,十分优秀!