*Servlet

/** 结构
 * abstract HttpServlet extends GenericServlet implements Serializable
 * abstract GenericServlet implements Servlet
 *
/** 重要的方法
 * protected void doGet(HttpServletRequest,HttpServletResponse);
 * protected void doPost(HttpServletRequest,HttpServletResponse);
 * public void init() throw ServletException;
 * public void destroy();
 *
/** servlet在web.xml中的配置
 * <servlet>
      <servlet-name>logon</servlet-name>
      <servlet-class>servlet.LogonServlet</servlet-class>
      <init-param>// 通过this.getInitParameter(参数名)来获取value
                  // 如果有多个参数可以调用this.getInitParameterNames()来获取参数名
          <param-name>encode</param-name>
          <param-value>UTF-8</param-value>
      </init-param>
      <load-on-startup>2</load-on-startup>// 优先级,为0或整数表示服务器启动则创建实例,创建的顺序和数字无关,
                                                                // 只和编写的顺序有关。为负数时,表示只有访问到该servlet时才创建实例。默认为一个负数。
  </servlet>
  <servlet-mapping>
      <servlet-name>logon</servlet-name>
      <url-pattern>/logon</url-pattern> // 页面中访问到logon,匹配该servlet。
  </servlet-mapping>
 *
/** servlet的中的页面跳转
 * 转发:request.getReuqestDispacher(String).forward(req,resp);// 这里的String参数可以加“/”也可以不加
 * 重定向:response.sendRedirect(String);// 这里的String参数不需要带斜杆。
 *
/** 转发和重定向的区别
 * 1.转发的范围只限于本工程,所以如果进行转发时,转发的字符串为“/”,那么就会到系统的根下,也就是回到了系统的欢迎页。
 * 重定向的范围是整个互联网,所以如果进行重定向时,字符串为“/”,那就会进入服务器的网站,
 *   例如tomcat就可能进入了localhost:8080.
 * 为空或者空格就表示回到了系统的根下。所以如果是系统内部的文件重定向,就不应该写“/”
 * 2.转发并不会更改浏览器地址栏的内容,只会更改页面。重定向则更改了浏览器地址栏的内容。
 *
 *
 * @author silone
 *
 */



package com.test.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import com.test.bean.Cart; import com.test.dao.CartDao; /** * Servlet implementation class DelCartServlet */ @WebServlet("/Servlet/DelCartServlet") public class DelCartServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public DelCartServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setCharacterEncoding("utf-8"); response.setHeader("Content-type","text/html;charset=utf-8") ; String gid=request.getParameter("gid"); if(gid!=null) { HttpSession session=request.getSession(); Cart cart=(Cart)session.getAttribute("cart"); if(cart!=null) { CartDao cartdao=new CartDao(); cartdao.delGoods(cart, Integer.parseInt(gid)); session.setAttribute("cart", cart); response.getWriter().println("删除成功"); }else { response.getWriter().println("删除失败"); } }else { response.getWriter().println("参数不正确"); } response.getWriter().println("<a href='"+request.getContextPath()+"/cart.jsp'>查看购物车<a>"); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } } 修改删除功能,在购物车物品数量大于1的情况下点击“删除”时减少1个,等于1时删除此项商品;
06-06
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值