总结:1.servlet-mapping的url-pattern的皮子方式:1.完全匹配:<url-pattern>/文件名</url-pattern> 2.目录匹配:<url-pattern>/aa/bb/cc/*</url-pattern>
3.扩展名匹配:<url-pattern>*.abc</url-pattern>
2.ServletContext:里面封装了web应用信息;一个ServletContext对应一个web对象(web对象就是一个整个的web项目;如WEB0910)
3.一个web应用可以有多个Servlet(每一次客户端请求创建一个Servlet)但是只有一个ServletContext对象就和字节码文件对象(class文件)一样
4.ServletContext:只有将web应用放在服务器上并且开启服务器后才会创建;当浏览器关闭或者直接在服务器上remove;web项目或者直接关闭服务器那么ServletContext就会被关闭
5.Servlet和字节码文件对象都是只创建一个对象,无论在哪创建都是同一个对象
6.ServletContext的作用:1.获取web应用中任何(能被放在服务器上的资源)资源的绝对路径2.写一个web服务的相对路径获取一个服务的绝对路基(web服务和服务器不是一个运行路径)
7.ServletContext:作用范围是整个web项目,是一个域对象; 域对象:存取数据的区域就是域对象
ServletContext的域作用范围是:整个web应用:web上的资源都可以随意向ServletContext域中存取数据,数据可以共享.
8.在WEB-INF:目录先web.xml文件中,在开头位置会自动设置欢迎页面 <welcome-file>index.html</welcome-file>;会有很多的地址,会依次向下找如果这个地址存在文件就会调用这 个文件并停止向下找,如果没有会继续向下寻找.
9.向ServletContex作用域中存值:1.先获取ServletContext对象:ServletContext con=getServletContext(); 2.调用存入的方法:con.setAttribuye("name","张三")向 ServletContext存在必须要用键值对的方式存和取,键必须是String类型,值是Object任何类型
10.从ServletContext作用域取值:1.创建ServletContext对象;ServletContext con=getServletContext(); 2.取值:Object obj=con.getAttribute("name");
取值得通过键来找,所以con.getAttribute("name")中的name是键值,因为存值时存的是Object所以这里也要用Object来接;
3.打印结果:system.out.println((String)obj);因为这里得到的是Object类型的数据所以这里是多态得强转成对应的String类型才能输出
11.ServletContext的作用:1.通过web的相对地址获取服务器的绝对地址;2.提供域对象(数据共享)
12.通过web的相对地址获取服务器的绝对地址:1.获取ServletContext对象:ServletContext con=getServletContext();
2.通过web地址获取服务器地址:String path=con.getRealPath("WEB-INF/c.txt");这里的path就是服务器的地址:3.打印地址:system.out.println(path)