四、Servlet来进行删除

2018-07-17  本文已影响0人  lifeline张

一、需求:使用Servlet来实现删除新闻的功能。

思路:创建Servlet,将删除的代码放到Servlet中,然后改变删除的超链接,改变Servlet代码中删除完成之后的重定向或者转发。
Servlet代码:

package cn.kgc.web.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.kgc.pojo.News;
import com.kgc.service.NewsService;
import com.kgc.service.impl.NewsServiceImpl;

public class DeleteServlet extends HttpServlet {
    
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        this.doPost(request, response);
    }
    
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String id = request.getParameter("id");
        News news = new News();
        news.setId(Integer.parseInt(id));
        String flag = "failed";
        NewsService newsService = new NewsServiceImpl();
        if(newsService.delete(news)){
            flag = "success";
        }
        response.sendRedirect("/news/jsp/admin/newsDetailList.jsp?flag="+flag);
    }

}

newsDetailList.jsp中的删除超链接代码:

<a href="javascript:if(confirm('确认是否删除此新闻?')) location='<%=request.getContextPath() %>/servlet/DeleteServlet?id=${news.id }'">删除</a>

二、总结

所以到最后,整个项目的结构就变得非常清晰:


image.png

jsp是前台显示,只负责显示页面;从前台拿到的数据传到Servlet层,在Servlet层调用Service层的方法进行处理;Service层调用Dao层的数据库处理数据的方法;Dao层只针对数据库。

上一篇 下一篇

猜你喜欢

热点阅读