servlet相关

WEB应用目录结构

图片1

一:servlet是sun公司提供的一门用于开发动态web资源的技术

二:可以通过继承javax.servlet.GenericServlet或者javax.servlet.servlet.http.HttpServlet,这两个是默认的实现类,前者是后者的父类,在HttpServlet中只需要修改doGet,doPost等方法,而在GenericServlet中需要复写service,init,destroy等。

三:一个servlet可以映射到多个URL地址上,在Servlet映射到的URL中也可以使用*通配符,但是只能有两种固定的格式:一种格式是“*.扩展名”,另一种格式是以正斜杠(/)开头并以“/*”结尾。/*的优先级要高。

四:如果需要在web应用启动时就加载某个servlet,需要用<load-on-startup>配置,里面的值越小,越先加载,这个配置主要用于系统的初始化。

五:如果某个servlet映射到/上,匹配不到的请求都会调用这个缺省的servlet。客户端所有的请求都会去找servlet,如果没有找到,则调用系统缺省的servlet,缺省servlet在整个web应用中如果没有找到,返回错误信息。

六:子类复写父类方法不能抛出比父类更多的异常。

七:servlet有线程安全问题,可以使用 synchronized(this)将共享访问共享变量的代码括起来。或者实现SingleThreadModel接口。这个接口解决方法是为每个请求产生多个servlet对象。

八:ServletConfig对象是用来封装传给servlet配置信息的对象,通过init传给servlet,可以在servlet中定义ServletCinfig变量保存该对象,然后再doxx中使用。

九:由于HttpServlet中已经有了ServletConfig变量config用来存储配置信息,可以直接使用getServletConfig()方法得到这个对象。

十:ServletConfig对象主要用于

       1获得字符集编码

       2获得数据库连接信息

       3获得配置文件

十一:ServletContext代表整个web应用,可以通过ServletConfig.getServletContext得到context,应用场景:

1:多个Servlet通过ServletContext对象实现数据共享。

2:获取WEB应用的初始化参数,比如数据库连接信息。

3:实现Servlet的转发。

ServletContext context = this.getServletContext();
context.setAttribute("data", data);
RequestDispatcher rd = context.getRequestDispatcher("/view.jsp");
rd.forward(request, response);

4:利用ServletContext对象读取资源文件。

•得到文件路径:

•读取资源文件的三种方式

传统方式:BufferedReader bf = new BuffereReader(new FileReader(“路径”));

这种方式的路径是相对于tomcat的bin目录的。

使用getServletContext().getResourceAsStream(路径)去读资源文件,这个路径是相对于web应用的根目录。

使用类装载器加载资源文件,本类.class.getClassLoader().getResourceAsStream(路径),这个路径是class目录。不适合装载大的文件。

•.properties文件(属性文件)

十二:读取资源文件注意事项

如果文件在类目录下并且不是很大,适合用类装载器去读,如果文件较大而且不在类目录下,就应该使用servletContext去读。

十三:servlet中有三个容器,servletContext,session和request。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值