-
****特别注意本节内容看似不起眼,却特别重要呃**** Servlet的路径跳转 一、JSP跳转到Servlet 1、相对路径,如href="servlet/TestServlet" 如果写成"/servlet/TestServlet"会报错,因为第一个“/”表示的是【服务器根目录】 2、绝对路径,通过内置成员变量path实现,如href="<%=path%>/servlet/TestServlet" path得到的是项目根目录,如【http://localhost:8080/ServletDemo】 二、Servlet跳转JSP 1、请求重定向:response.sendRedirect(request.getContextPath()+"/xxx.jsp"); request.getContextPath()获得项目根目录,或者通过"../xxx.jsp"取得上层路径得到 2、服务器内部转发: request.getRequestDispatcher("../xxx.jsp").forward(req,resp); request.getRequestDispatcher("/test.jsp").forward(request, response); //斜线表示项目的根目录 小结:Servlet都可以通过../xxx.jsp获取路径 三、web.xml的路径 web.xml的<url-pattern>必须以“/”开头,“/”表示项目的根目录查看全部
-
Servlet与JSP九大内置对象对照表: 注意:JSP的out对象与Servlet的response.getWriter()是有区别的,一个是JSPWriter的实例,一个是java.io.PrintWriter的实例查看全部
-
*********特别重要********* 在下列时刻Servlet容器装载Servlet: 1、Servlet容器启动时自动装载某些Servlet,实现它只需要在web.xml文件中的<Servlet></Servlet>之间添加代码:<loadon-startup>整数1、2...</loadon-startup>,注意:数字越小表示优先级别越高; 2、在Servlet容器启动后,用户首次向Servlet发送请求; 3、Serclet被更新后,重新装载Servlet; 注:Servlet被装载后,Servlet容器会创建一个Servlet实例并且调用Servlet的init()方法进行初始化。在Servlet的整个生命周期中,init()方法只能被调用一次,Servlet始终驻留在内存中查看全部
-
编写Servlet的doGet与doPost方法时,都需要抛出ServletExcpetion和IOException异常查看全部
-
********重要概念**重要概念***重要概念***** Servlet的生命周期图解查看全部
-
**********特重要哦************ Servlet的执行流程: 一、执行流程如截图所示 1、用户点击超衔接向服务器提交请求后,服务器会在web.xml中的<servlet-mapping>中需要对应的url(url-pattern)地址,然后得到servlet-name。 2、在<servlet>标签中寻找名称相同的标签,然后得到处理类(servlet-class文件) 3、进入servlet处理类,根据请求方式(get或者post)执行(doGet或者doPost)方法查看全部
-
如何手工创建Servlet? 详细步骤: 在web dynamic project的src下创建Servlet类,如HelloServlet.java(实质是java类,继承HttpServlet抽象类,重写doGet与doPost()方法),然后在web.xml注册Servlet,主要是两个标签<servlet></servlet>标签与 <servlet-mapping></servlet-mapping>标签 格式: <Servlet> <Servlet-name>定义Servlet的名字<Servlet-name> <Servlet-class>Servlet的全类名,即包名.HelloServlet</Servlet-class> <Servlet> <Servlet-mapping> <Servlet-name>在Servlet标签定义好的Servlet的名字</Servlet-name> <url-patern>HelloServlet.java的虚拟路径</url-patern> </Servlet-mapping> ****************特别注意*************&* 1、在超级链接是Get请求指向Servlet或表单提交数据给Servlet处理时不同于3P(JSP,ASP,PHP),是不能带文件后缀.java的,否则会报错,这点需要特别注意查看全部
-
Tomcat容器包含4个等级,从高到低分别是Container容器,Engine引擎容器、Host主机容器与Servlet容器,其中Servlet的容器管理Context容器(称为上下文),一个Context对应一个Web工程查看全部
-
什么是Servlet? 首先明确一点:先有Servlet后有JSP,JSP的前身是Servlet Servlet是在服务器上运行的小程序。一个Servlet就是一个Java类,并且可以通过“请求--响应”编程模式来访问这个驻留在服务器内存里的Servlet程序查看全部
-
本章Servlet基础讲述的内容:查看全部
-
MVC模型包含模型层(javaBean)、视图层(jsp)和控制器层(servlet)查看全部
-
Cart类为防止添加商品重复,重写了items类父类Object的hashCode的方法 @items public int hashCode() { return this.getId()+this.getName().hashCode(); } public boolean equals(Object obj) { 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 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; }查看全部
-
@Items.java //重写toString() public String toString() { return "商品编号:"+this.getId()+",商品名称:"+this.getName(); } @Cart.java //遍历购物商品的集合 Set<Map.Entry<Items, Integer>> items= c.getGoods().entrySet(); for(Map.Entry<Items, Integer> obj:items) { System.out.println(obj); } Set <Map.Entry<Items,Integer>>items=c.getGoods().entrySet(); 解释: Map是java中的接口,Map.Entry是Map的一个内部接口。 Map提供了一些常用方法,如keySet()、entrySet()等方法。 keySet()方法返回值是Map中key值的Set集合;entrySet()的返回值也是返回一个Set集合,此集合的类型为Map.Entry。 Map.Entry是Map声明的一个内部接口,此接口为泛型,定义为Entry<K,V>。它表示Map中的一个实体(一个key-value对),接口中有getKey(),getValue方法。 因此Set<Map.Entry<Items,Integer>>也可以写成Set<Map<Items,Integer>查看全部
-
手工编写一个Servlet 1.继承HttpSrevlet 2.重写doGet()或者doPost方法 3.在web.xml中注册Servlet查看全部
-
servlet是在服务器上运行的小程序。一个servlet就是一个java类,并且可以通过“请求-响应”编程模型来访问的这个驻留在服务器内存里的servlet程序。查看全部
举报
0/150
提交
取消