-
Model2: 该开发模型就是MVC思想的体现: JavaBean(模型层)、Servlet(控制层)、JSP(视图层)、要访问的数据都封装在我们的数据库层,工作原理: JSP页面给控制层Servlet提交一个请求 ,Servlet实例化模型层的对象 ,模型层访问读取数据库,得到结果反馈给控制层,控制层根据结果给用户呈现不同的页面查看全部
-
Model1 javabean+jsp 开发模型 维护性和扩展性差查看全部
-
如何保证不添加重复商品到购物车?我们需要重写默认的判断规则。 1. 重写Items的hashCode()方法: return this.getId()+this.getName().hashCode(); 如何确定相同商品的返回的hashCose相同?首先,getId()是一个整数,然后getName()是一个字符串,相同字符串的hashCode也相同,所以返回的是相同的值。 2. 重写Items的equals()方法,如图。 3. 重写上述两个方法以后,还要修改addGoodsInCart()方法,不然新添加的重复商品会直接覆盖原有的商品,而数量并没有累加。 public boolean addGoodsInCart(Items item, int number){ //Map提供了put()方法来添加键值对 if(goods.containsKey(item)){//如果添加的商品已经存在,则只要对数量进行累加 goods.put(item, goods.get(item)+number); } else{ goods.put(item, number); } calTotalPrice();//重新计算商品的总金额 return true;//表示添加成功 }查看全部
-
mvc设计思想查看全部
-
在Servlet中可以通过ServletConfig接口提供的方法获取初始化参数查看全部
-
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();查看全部
-
Servlet高级 获取初始化参数 在web.xml中配置Servlet时,可以配置一些初始化参数。而在Servlet中可以通过ServletConfig接口提供的方法(getInitParameter)来获取这些参数。 1. 在web.xml配置初始化参数: <servlet> <servlet-name>XXXServlet</servlet-name> <servlet-class>servlet/XXXServlet</servlet-class> <init-param> <param-name>username</param-name> <param-value>admin</param-value> </init-param> <init-param> <param-name>password</param-name> <param-value>123456</param-value> </init-param> </servlet> 2. 在Servlet的init()方法写上: this.setUsernaem(this.getInitParameter("username")); this.setUsernaem(this.getInitParameter("password")); 3. 在doPost方法中写上: out.println(this.getUsername()); out.println(this.getPassword());j就可以在Servlet页面输出对应的初始化参数username、password 3.0后的新的“配置初始化参数”方式 @WebServlet(name = "HelloServlet", urlPatterns = { "/HelloServlet" }, initParams = { @WebInitParam(name = "username", value = "admin"), @WebInitParam(name = "password", value = "password") })查看全部
-
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); } --->什么时候计算总金额?当然是添加和删除购物车商品的时候!每一次添加或删除都需要重新计算查看全部
-
使用servlet技术实现购物车效果查看全部
-
1、在页面中访问servlet ①相对路径:servlet/HelloServlet ②绝对路径:path变量表示项目的根目录,path/servlet/HelloServlet,其中path=request.getContextPath **超链接中href应该写成"servlet/HelloServlet",servlet前不能有/;web.xml中url-pattern标签中的url地址应写成“/servlet/HelloServlet”,servlet前必须有/,表示项目的根目录 2、在servlet中跳转到jsp页面 ①请求重定向:response.sendRedirect(request.getContextPath()+"/test.jsp") 如果只写"test.jsp"表示的是相对路径,当前路径是“项目名称/servlet”,就错了 ②Servlet服务器内部跳转路径写法: request.getRequestDispatcher("/test.jsp").forward(request,response),这里的“/”表示项目的根目录, 也可以写成"../test.jsp",“..”表示上一层目录查看全部
-
Model2: 该开发模型就是MVC思想的体现: JavaBean(模型层)、Servlet(控制层)、JSP(视图层)、要访问的数据都封装在我们的数据库层,工作原理: JSP页面给控制层Servlet提交一个请求 ,Servlet实例化模型层的对象 ,模型层访问读取数据库,得到结果反馈给控制层,控制层根据结果给用户呈现不同的页面查看全部
-
通过Servlet获取表单数据: 1.建立JavaBean类; 2.在Servlet类中的 doPost方法内编写代码; a)实例化JavaBean对象,通过 getParameter(String param);获取表单值,通过 getParameterValues(String param); 获取多个同name的表单值;通过setter()方法给JavaBean对象传值; b)将JavaBean对象保存到session中; c)进行页面跳转。 3.jsp页面中使用(保存在session中的)已创建的Servlet对象,通过<jsp:getProperty ></jsp:getProperty>或对象的get()方法获取属性值。 <jsp:useBean id="idName" class="classPath" scope="session"></jsp:useBean> <jsp:getProperty name=" idName " property="propertyName"></jsp:getProperty> <% String[] favorites=userReg.getFavorites(); for(String favorite:favorites){ %> <%=favorite %> <% }%> 注意事项: 1.在 jsp 页面中可以使用<% %> 写 java 代码; 2.日期转换时需要注意格式 '-'; 3.复选框需要使用 getParameterValues 方式获取; 4.注意复选框是否为 null ; 5.注意javaBean属性名不与表单属性名冲突! 后台通过 getParameter获取单个数据 getParameterValues获取多个数据 ,然后把数据封装成 JavaBean对象 放入到session中,让前台进行获取查看全部
-
1.HttpServlet类有两个sevrvice( )方法 2.HttpServlet类扩展了GenericServlet类,实现了GenericServlet类的抽象方法 sevrvice( ) 3.我们自己编写的Servlet继承了HttpServlet类,一般只需覆盖doPost或者doGet方法,不必覆盖sevrvice( )方法.因为一个sevrvice( )方法会调用doPost或者doGet方法查看全部
-
Servlet与九大对象查看全部
举报
0/150
提交
取消