Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用jsp、bean类和servlet在MySQL数据库中插入时间和日期_Java_Mysql_Jsp_Servlets - Fatal编程技术网

Java 使用jsp、bean类和servlet在MySQL数据库中插入时间和日期

Java 使用jsp、bean类和servlet在MySQL数据库中插入时间和日期,java,mysql,jsp,servlets,Java,Mysql,Jsp,Servlets,我想在数据库表中插入日期和时间。我在insertdao.java中遇到错误,因为不兼容的类型timestamp无法转换为时间。 我的MySQL数据库中有一个dttable,其列名和数据类型为Logindate日期、Logintime时间戳、LogoutTime时间戳 在index.jsp中,我们必须在Logindate、Logintime、LogoutTime中插入值 <%@page language="java" contentType="text/html charset=UTF-8"

我想在数据库表中插入日期和时间。我在insertdao.java中遇到错误,因为不兼容的类型timestamp无法转换为时间。 我的MySQL数据库中有一个dttable,其列名和数据类型为Logindate日期、Logintime时间戳、LogoutTime时间戳

在index.jsp中,我们必须在Logindate、Logintime、LogoutTime中插入值

<%@page language="java" contentType="text/html charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Timesheet Page</title>
</head>

<body>
    <header>
        <h2>WEEKLY TIME SHEET MANAGEMENT V 1.0</h2>
    </header>

    <form action="insertservlet" method="post">
        <fieldset style="width: 90%">
            <legend>Timesheet</legend>
            <table>
                <thead>
                    <tr>
                        <th>Date</th>
                        <th>Time In</th>
                        <th>Time Out</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>

                        <td><input type="date" name="logindate" required="required" /></td>
                        <td><input type="time" name="logintime" required="required" /></td>
                        <td><input type="time" name="logouttime" required="required" /></td>


                    </tr>

                </tbody>
            </table>
        </fieldset>
        <input type="submit" value="Submit">
    </form>
    <a href="logout.jsp">Logout</a>
</body>

</html> 
insertdao.java:

package com.eis.bean;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Date;
import java.sql.Timestamp;

public class insertdao {
    public static int addBean(Bean user, String sql) throws SQLException {
        int i = 0;
        Connection conn = ConnectionProvider.getConn();
        try {

            PreparedStatement preparedStatement = conn.prepareStatement(sql);
            // Parameters start with 1

            preparedStatement.setDate(1, new Date(user.getLogindate().getTime()));
            preparedStatement.setTimestamp(2, new Timestamp(user.getLogintime().getTime()));
            preparedStatement.setTimestamp(3, new Timestamp(user.getLogouttime().getTime()));

            i = preparedStatement.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return i;
    }
}
insertservlet.java:

import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import com.eis.bean.Bean;

import com.eis.bean.insertdao;

import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.RequestDispatcher;
public class insertservlet extends HttpServlet {

    private static final long serialVersionUID = 1L;
    private insertdao dao;
    public insertservlet() {
        super();
        dao = new insertdao();
    }

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {


        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        Bean user = new Bean();

        try {
            Date logindate = new SimpleDateFormat("yyyy/MM/dd").parse(request.getParameter("logindate"));
            user.setLogindate((java.sql.Date) logindate);
        } catch (ParseException e) {
            e.printStackTrace();
        }

        try {
            Date logintime = new SimpleDateFormat("HH:mm").parse(request.getParameter("logintime"));
            user.setLogintime((java.sql.Timestamp) logintime);
        } catch (ParseException ex) {
            Logger.getLogger(insertservlet.class.getName()).log(Level.SEVERE, null, ex);
        }

        try {
            Date logouttime = new SimpleDateFormat("HH:mm").parse(request.getParameter("logouttime"));
            user.setLogouttime((java.sql.Timestamp) logouttime);
        } catch (ParseException ex) {
            Logger.getLogger(insertservlet.class.getName()).log(Level.SEVERE, null, ex);
        }
        insertdao dao = new insertdao();
        String sql = "INSERT INTO dttable (LoginDate, LoginTime, LogoutTime) VALUES (?, ?, ?)";
        try {
            int i = insertdao.addBean(user, sql);

            if (i != 0) {
                out.print("<p style=\"color:Green\">Record saved successfully!!</p>");
                RequestDispatcher rd = request.getRequestDispatcher("Sucsess.jsp");
                rd.forward(request, response);
            } else {
                out.print("<p style=\"color:red\">**Record cannot be saved!**</p>");
                RequestDispatcher rd = request.getRequestDispatcher("index.jsp");
                rd.include(request, response);
            }

        } catch (Exception e) {
            e.printStackTrace();
        }
    }


    @
    Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }@
    Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }@
    Override
    public String getServletInfo() {
        return "Short description";
    }

}
导入java.io.PrintWriter;
导入javax.servlet.ServletException;
导入javax.servlet.http.HttpServlet;
导入javax.servlet.http.HttpServletRequest;
导入javax.servlet.http.HttpServletResponse;
导入java.io.IOException;
导入java.text.ParseException;
导入java.text.simpleDataFormat;
导入java.util.Date;
导入com.eis.bean.bean;
导入com.eis.bean.insertdao;
导入java.util.logging.Level;
导入java.util.logging.Logger;
导入javax.servlet.RequestDispatcher;
公共类insertservlet扩展了HttpServlet{
私有静态最终长serialVersionUID=1L;
私人插刀;
公共insertservlet(){
超级();
dao=新的insertdao();
}
受保护的void processRequest(HttpServletRequest请求、HttpServletResponse响应)
抛出ServletException、IOException{
setContentType(“text/html;charset=UTF-8”);
PrintWriter out=response.getWriter();
Bean user=newbean();
试一试{
Date logindate=新的SimpleDataFormat(“yyyy/MM/dd”).parse(request.getParameter(“logindate”);
user.setLogindate((java.sql.Date)logindate);
}捕获(解析异常){
e、 printStackTrace();
}
试一试{

Date logintime=new SimpleDataFormat(“HH:mm”).parse(request.getParameter(“logintime”); user.setLogintime((java.sql.Timestamp)logintime); }捕获(解析异常){ Logger.getLogger(insertservlet.class.getName()).log(Level.SEVERE,null,ex); } 试一试{ datelogouttime=newsimpledateformat(“HH:mm”).parse(request.getParameter(“logouttime”)); setLogouttime((java.sql.Timestamp)logouttime); }捕获(解析异常){ Logger.getLogger(insertservlet.class.getName()).log(Level.SEVERE,null,ex); } insertdao=newinsertdao(); String sql=“插入dttable(LoginDate、LoginTime、LogoutTime)值(?,?)”; 试一试{ inti=insertdao.addBean(用户,sql); 如果(i!=0){ out.print(“

记录保存成功!!

”; RequestDispatcher rd=request.getRequestDispatcher(“successs.jsp”); 转发(请求、响应); }否则{ out.print(“

**无法保存记录!***

”; RequestDispatcher rd=request.getRequestDispatcher(“index.jsp”); 包括(请求、响应); } }捕获(例外e){ e、 printStackTrace(); } } @ 推翻 受保护的void doGet(HttpServletRequest请求、HttpServletResponse响应) 抛出ServletException、IOException{ processRequest(请求、响应); }@ 推翻 受保护的void doPost(HttpServletRequest请求、HttpServletResponse响应) 抛出ServletException、IOException{ processRequest(请求、响应); }@ 推翻 公共字符串getServletInfo(){ 返回“简短描述”; } }
请检查我的代码,如果代码不正确,请提供帮助。

尝试
setTimestamp(int-parameterIndex,java.sql.Timestamp x)


您可以添加您的表描述和异常跟踪吗?@saravanakumar CREATE table
dttable
LoginDate
日期非空注释“”、
LoginTime
时间戳(6)空注释“”、
LogoutTime
时间戳(6)空注释“”、主键(
LoginDate
)注释“”);谢谢你的回复。。。不是,我犯了不同的错误。HTTP状态500-java.util.Date不能转换为java.sql.Timestamp java.lang.ClassCastException:java.util.Date不能转换为java.sql.Timestamp insertservlet.processRequest(insertservlet.java:55)insertservlet.doPost(insertservlet.java:115)javax.servlet.HTTP.HttpServlet.service(HttpServlet.java:648)javax.servlet.http.HttpServlet.service(HttpServlet.java:729)org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)使用
java.sql.Timestamp Timestamp=new java.sql.Timestamp(logintime.getTime())
转换登录和注销时间的时间戳中的日期感谢reply@saravanakumar现在我犯了不同的错误。HTTP状态500-java.util.Date不能转换为java.sql.Timestamp java.lang.ClassCastException:java.util.Date不能转换为java.sql.Timestamp insertservlet.processRequest(insertservlet.java:55)insertservlet.doPost(insertservlet.java:115)javax.servlet.HTTP.HttpServlet.service(HttpServlet.java:648)javax.servlet.http.HttpServlet.service(HttpServlet.java:729)org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)能否请您指定我必须添加上述行的位置。Date logintime=new SimpleDateFormat(“HH:mm”).parse(request.getParameter(“logintime”);user.setLogintime(新的java.sql.Timestamp(logintime.getTime());//对logouttime执行相同的操作
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import com.eis.bean.Bean;

import com.eis.bean.insertdao;

import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.RequestDispatcher;
public class insertservlet extends HttpServlet {

    private static final long serialVersionUID = 1L;
    private insertdao dao;
    public insertservlet() {
        super();
        dao = new insertdao();
    }

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {


        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        Bean user = new Bean();

        try {
            Date logindate = new SimpleDateFormat("yyyy/MM/dd").parse(request.getParameter("logindate"));
            user.setLogindate((java.sql.Date) logindate);
        } catch (ParseException e) {
            e.printStackTrace();
        }

        try {
            Date logintime = new SimpleDateFormat("HH:mm").parse(request.getParameter("logintime"));
            user.setLogintime((java.sql.Timestamp) logintime);
        } catch (ParseException ex) {
            Logger.getLogger(insertservlet.class.getName()).log(Level.SEVERE, null, ex);
        }

        try {
            Date logouttime = new SimpleDateFormat("HH:mm").parse(request.getParameter("logouttime"));
            user.setLogouttime((java.sql.Timestamp) logouttime);
        } catch (ParseException ex) {
            Logger.getLogger(insertservlet.class.getName()).log(Level.SEVERE, null, ex);
        }
        insertdao dao = new insertdao();
        String sql = "INSERT INTO dttable (LoginDate, LoginTime, LogoutTime) VALUES (?, ?, ?)";
        try {
            int i = insertdao.addBean(user, sql);

            if (i != 0) {
                out.print("<p style=\"color:Green\">Record saved successfully!!</p>");
                RequestDispatcher rd = request.getRequestDispatcher("Sucsess.jsp");
                rd.forward(request, response);
            } else {
                out.print("<p style=\"color:red\">**Record cannot be saved!**</p>");
                RequestDispatcher rd = request.getRequestDispatcher("index.jsp");
                rd.include(request, response);
            }

        } catch (Exception e) {
            e.printStackTrace();
        }
    }


    @
    Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }@
    Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }@
    Override
    public String getServletInfo() {
        return "Short description";
    }

}
     preparedStatement.setTimestamp(2, new Timestamp(user.getLogintime().getTimes()));
     preparedStatement.setTimestamp(3, new Timestamp(user.getLogouttime().getTime()));