public class GoodRecommendListServlet extends HttpServlet { private GoodsService gService = new GoodsService(); protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { int type = Integer.parseInt(request.getParameter("type") ) ; int pageNumber = 1; if(request.getParameter("pageNumber") != null) { try { pageNumber=Integer.parseInt(request.getParameter("pageNumber") ) ; } catch (Exception e) { } } if(pageNumber<=0) pageNumber=1; Page p = gService.getGoodsRecommendPage(type, pageNumber); if(p.getTotalPage()==0) { p.setTotalPage(1); p.setPageNumber(1); } else { if(pageNumber>=p.getTotalPage()+1) { p = gService.getGoodsRecommendPage(type, p.getTotalPage()); } } request.setAttribute("p", p); request.setAttribute("t", type); request.getRequestDispatcher("goodsrecommend_list.jsp").forward(request, response); } }代码解释
时间: 2024-02-14 10:14:21 浏览: 15
这是一个 Java Servlet,用于处理 HTTP GET 请求。它包含一个 doGet 方法,接受一个 HttpServletRequest 对象和一个 HttpServletResponse 对象作为参数,并可能抛出 ServletException 和 IOException 异常。
在 doGet 方法中,首先从请求参数中获取 type 和 pageNumber 参数,并将 pageNumber 转换为整数类型。如果 pageNumber 参数不存在或无法转换,则将其设置为默认值 1。然后,如果 pageNumber 小于或等于 0,则将其设置为 1。
接下来,使用 GoodsService 类的 getGoodsRecommendPage 方法获取一个 Page 对象,该对象包含指定类型的商品列表和分页信息。如果该方法返回的 Page 对象的总页数为 0,则将其总页数和页码设置为 1。否则,如果 pageNumber 大于等于总页数加 1,则重新调用 getGoodsRecommendPage 方法获取最后一页的商品列表和分页信息。
最后,将获取到的 Page 对象和 type 参数设置为请求属性,然后将请求转发到 goodsrecommend_list.jsp 页面。
相关问题
public class GoodsBuyServlet extends HttpServlet { private GoodsService gService = new GoodsService(); protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Order o = null; if(request.getSession().getAttribute("order") != null) { o = (Order) request.getSession().getAttribute("order"); }else { o = new Order(); request.getSession().setAttribute("order", o); } int goodsid = Integer.parseInt(request.getParameter("goodsid")); Goods goods = gService.getGoodsById(goodsid); if(goods.getStock()>0) { o.addGoods(goods); response.getWriter().print("ok"); }else { response.getWriter().print("fail"); } } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } }代码解释
这是一个 Java Servlet,用于处理 HTTP POST 请求。它包含一个 doPost 方法,接受一个 HttpServletRequest 对象和一个 HttpServletResponse 对象作为参数,并可能抛出 ServletException 和 IOException 异常。
在 doPost 方法中,首先从会话中获取一个 Order 对象。如果该对象不存在,则创建一个新的 Order 对象,并将其存储在会话中。
然后,从请求参数中获取 goodsid 参数,并将其转换为整数类型。然后使用 GoodsService 类的 getGoodsById 方法获取指定商品的详细信息。
接下来,如果该商品的库存大于 0,则将其添加到 Order 对象中,并向客户端返回 "ok"。否则,向客户端返回 "fail"。
该 Servlet 还包含一个空的 doGet 方法,不做任何处理。
@WebServlet(name = "deleteServlet", value = "/deleteServlet") public class deleteServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request,response); } }在这个页面填好
这个 Servlet 是一个空实现,需要根据具体需求进行修改。以下是一个简单的删除操作的示例:
```java
@WebServlet(name = "deleteServlet", value = "/deleteServlet")
public class deleteServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String id = request.getParameter("id");
// 根据具体需求进行删除操作,以下是一个示例代码
Connection conn = null;
PreparedStatement ps = null;
try {
conn = DBUtil.getConnection();
String sql = "DELETE FROM user WHERE id = ?";
ps = conn.prepareStatement(sql);
ps.setString(1, id);
ps.executeUpdate();
response.sendRedirect("userList.jsp");
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBUtil.close(conn, ps, null);
}
}
}
```
该 Servlet 接收一个 POST 请求,从请求参数中获取一个 `id` 值,然后连接数据库,执行 SQL 语句删除对应的行,并重定向到用户列表页。需要注意的是,这里使用了一个 DBUtil 类来获取数据库连接和关闭资源,可以根据自己的情况进行修改。另外,需要将 SQL 语句中的 `user` 替换成实际的表名。