>
Tinyint 유형의 데이터베이스가 있습니다. 'notifi? id =&status = 1&userid ='와 같은 엔드 포인트와 링크를 사용하여 0을 1 (항상)로 변경하고 싶습니다. POST 요청이 없으면 작동하지 않는 것 같습니다.

상태에 대한 영구 번호를 설정하려고 시도했지만 업데이트 및 삽입 명령을 모두 시도했지만 사용 가능합니다.

HERE는 내 dao 코드입니다 :

public void markRead(Notify notify)  {
    try {
        Connection con= NotifyDao.getConnection();
        PreparedStatement ps=con.prepareStatement(
                "UPDATE notifications set status=? where userid=?");
        ps.setInt(1,notify.getNotifyid());
        ps.setInt(2,notify.getNotifystatus());
        ps.executeUpdate();
        con.close();
    } catch (SQLException e) {
        e.printStackTrace();
    }

}

서블릿 코드

protected void doPost(HttpServletRequest request,
                      HttpServletResponse response) throws ServletException, IOException {
Notify notify = new Notify();
    int id = Integer.parseInt(request.getParameter("id"));
    int status = Integer.parseInt(request.getParameter("status"));
    int userid = Integer.parseInt(request.getParameter("userid"));
    if (status==1){
        request.setAttribute("status", status);
        NotifyDao notifyDao = new NotifyDao();
        notifyDao.markRead(notify);
    }else  {
        response.sendRedirect("error.jsp");
    }

도움이나 지시는 대단히 감사하겠습니다

  • 답변 # 1

    서블릿에서 다른 메소드 doGet(HttpServletRequest request, HttpServletResponse response) 를 대체 doPost() 와 함께  거기에서 do post 메소드를 호출하십시오.

    이와 같이 :

    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    {
    //your existing code
    }  
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    {
    doPost(request,response);
    }
    
    

    또한 Oracle Docs를 참조하십시오

관련 자료

  • 이전 version control - Perforce에서 열려있는 모든 파일을 어떻게 되돌릴 수 있습니까?
  • 다음 Swift의 기본 사전 값