-
编写Servlet的doPost方法时,需要抛出ServletExcpetion和IOException异常,不会抛出HttpServletException异常。
查看全部 -
假设在helloapp应用中有一个HelloServlet类,它在 web.xml文件中的配置如下:
<servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>org.javathinker.HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping>
那么在浏览器端访问HelloServlet的URL是什么?
helloapp/hello查看全部 -
servlet执行流程
2.Servlet常用类与接口的关系
3.Servlet常用类和接口
4.Servlet生命周期
查看全部 -
通过重写实体类的 hashCode( ) 和 equals( ) 方法,实现在HashMap中按实际需求判断是否存在
查看全部 -
MVC模型包含模型层(javaBean)、视图层(jsp)和控制器层(servlet)
查看全部 -
//从购物车中删除商品 private boolean deleteFromCart(HttpServletRequest request, HttpServletResponse response) { String id = request.getParameter("id"); Cart cart = (Cart)request.getSession().getAttribute("cart"); Items item = idao.getItemsById(Integer.parseInt(id)); if(cart.removeGoodsFromCart(item)) { return true; } else { return false; } }
查看全部 -
cart = (Cart)request.getSession().getAttribute("cart")不会新开辟内存空间,而是让cart引用变量指向Session中的cart对象。所以在Servlet中不用request.getSession().setAttribute("cart", cart);也能添加商品进购物车
3.details.jsp 购买数量:<span id="sub" onclick="sub();">-</span><input type="text" id="number" name="number" value="1" size="2"/><span id="add" onclick="add();">+</span> <script type="text/javascript"> function add() { var num = parseInt(document.getElementById("number").value); if(num<100) { document.getElementById("number").value = ++num; } } function sub() { var num = parseInt(document.getElementById("number").value); if(num>1) { document.getElementById("number").value = --num; } } </script>
查看全部 -
添加商品到购物车的步骤: 首先在CartServlet编写两个私有属性String action/ItemsDao idao。 action表示购物车的动作,包含三种动作:add、show、delete; 接着我们要判断action传的是哪个动作。 idao表示商品要用到的业务逻辑层的对象,比如根据一个编号获取一个商品。 让doGet()做doPost()方法。 在doPost()中,首先判断action的动作,如果不等于空,再判断是否是add,若是,则调用addToCart()方法。 在addToCart()方法中,首先获得request传递的商品编号和商品数量,由编号获得商品对象。然后判断是否是第一次给购物车添加商品,若是,则创建新的购物车对象到Session中;如果不是,则从Session直接获取现有的购物车对象,然后调用该对象的addGoodsInCart()方法,如果方法返回为true,则addToCart()也返回true,并在doPost()中跳转到成功的页面,否则跳转到失败的页面。
查看全部 -
@Items.java//解决编号没有合并问题 @Override public int hashCode() { //若getId和getName相同,则hashCode一定相同 return this.getId()+this.getName().hashCode(); } @Override public boolean equals(Object obj) { // TODO Auto-generated method stub if(this==obj) { return true; } if(obj instanceof Items) { Items i = (Items)obj; if(this.getId()==i.getId()&&this.getName().equals(i.getName())) { return true; } else { return false; } } else { return false; } } @Cart.java //添加商品进购物车的方法 public boolean addGoodsInCart(Items item ,int number) { if(goods.containsKey(item))//重复添加,解决数量没有相加问题 { goods.put(item, goods.get(item)+number); } else//第一次添加 { goods.put(item, number); } calTotalPrice(); //重新计算购物车的总金额 return true; }
查看全部 -
Map是java中的接口,Map.Entry是Map的一个内部接口。 Map提供了一些常用方法,如keySet()、entrySet()等方法。 keySet()方法返回值是Map中key值的集合;entrySet()的返回值也是返回一个Set集合,此集合的类型为Map.Entry。 Map.Entry是Map声明的一个内部接口,此接口为泛型,定义为Entry<K,V>。它表示Map中的一个实体(一个key-value对)。接口中有getKey(),getValue方法。
查看全部 -
购物车的设计思路: 1. 购买商品的集合,因为含有商品信息和对应的购买数量,应采取“键值对”的集合来存储,所以选择Map. 这里写作 private HashMap<Items,Integer> goods; 2. 添加商品到购物车的方法:Map提供了put()方法来添加键值对,这里写作:goods.put(item, number); 3. 删除购物车内的商品:使用Map的remove()方法,写作:goods.remove(item); 4. 统计购物车的总金额,核心是对Map的遍历。 --->要遍历Map集合,首先要获得关键字Items的集合:Set<Items> keys = goods.keySet(); --->Set集合无法使用for循环来遍历,所以需要迭代器来遍历 :Iterator<Items> it = keys.iterator(); while(it.hasNext()) { Items i = it.next(); sum+=i.getPrice() * goods.get(i); } --->什么时候计算总金额?当然是添加和删除购物车商品的时候!每一次添加或删除都需要重新计算。
查看全部 -
Model 2 大致分为三层 充当模型层的是JavaBean,充当控制层的是Servlet,充当视图层的是JSP。 然后要访问的数据就在数据库层。 工作原理: 首先由JSP页面向控制层提交请求,然后由控制层Servlet实例化一个模型层的对象,或者说是调用一些模型层的功能,然后由模型层访问数据库层(读取数据库),模型层得到结果后再反馈给控制层,控制层根据得到的结果选择给用户呈现不同的页面(跳转到不同的JSP页面)。
查看全部 -
MVC模式(Controller,Moderl,View):是软件开发过程中比较流行的设计思想。旨在分离模型、控制、视图。是一种分层思想的体现。浏览器发出一个请求->被控制器(Servlet)所接收->由servlet去实例化一个模型层(通常是javabean层,由javabean层调用数据库层)的对象->由模型层访问数据库层得到的结果可以返回给控制层或者说界面层也可以访问(保存在session中); 控制层获得模型层的反馈结果之后,选择合适的视图给用户呈现 最终给用户一个响应
查看全部 -
在web.xml中配置Servlet时,可以配置一些初始化参数。而在Servlet中可以通过ServletConfig接口提供的方法(getInitParameter())来获取这些参数。
查看全部 -
1.获取初始化参数 1>在web.xml中配置Servlet时,可以配置一些初始化参数。而在Servlet中可以通过ServletConfig接口提供的方法来取得这些参数。 2>在index.jsp中改<a href="servlet/GetInitParameterServlet">获取初始化参数Servlet</a> 3>建一个Servlet,在web.xml中设置初始化参数 4>private String username; private String password;封装一下 5>在public void init() throws ServletException{ this.setUsername( this.getInitParameter("username")); this.setPassword( this.getInitParameter("username")); 6>在body中输出设置的名字和密码 this.getUername(); this.getPassword();
查看全部
举报