一、需求:使用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>
二、总结
所以到最后,整个项目的结构就变得非常清晰:
![](https://img.haomeiwen.com/i8886052/3129df47915b31df.png)
jsp是前台显示,只负责显示页面;从前台拿到的数据传到Servlet层,在Servlet层调用Service层的方法进行处理;Service层调用Dao层的数据库处理数据的方法;Dao层只针对数据库。
网友评论