请问什么是Servlet上下文?
所谓的上下文是用来存储系统的一些初始化信息的。例如,如果在jboss中通过一个配置文件指定了一个数据源,那么这个文件的相关信息就会放在jboss启动时的上下文中。所以我们在使用这个数据源的时候,需要先获取系统上下文,然后通过一定的取出数据源。至于系统启动时如何将这些初始化信息加载到上下文中,以及上下文以什么形式体现在程序中,应该是随系统不同而不同的。Context,即ServletContext,是存储信息的全局空间。服务器启动时存在,服务器关闭时释放。所有用户共享一个ServletContext。所以为了节省空间和提高效率,ServletContext应该把一些必要的、重要的、安全的信息放在所有用户共享的线程中。比如做一个购物网站,我们需要从数据库中提取物品信息。如果我们用session来保存这些物品信息,每个用户都要访问便利数据库,效率太低。因此,当服务器启动时,它访问数据库并将商品信息存储在Servlet上下文中,这样每个用户只需要从上下文中读取商品信息。获取ServletCont
servlet原理?
1、Servlet执行过程
用户请求一个Servlet,Servlet容器自动构造请求和响应对象,然后执行Servlet的service()方法,该方法将接收请求和响应对象,并通过响应对象将处理结果发送给用户。
2.如何请求Servlet
用户通过URL请求一个Servlet。
3.如何处理请求
当用户请求Servlet时,容器构建一个ServletRequest对象,并将其传递给Servlet的Service()方法。服务通过请求对象获取请求的参数,然后根据参数进行相应的处理,并通过ServletResponse对象将响应内容发送给客户端。
4.如何回复客户?
当用户请求一个Servlet时,容器会自动创建一个Servletresponse对象,然后通过response对象将响应内容发送给客户端。
的生命周期
a、部署Servlet类,启动容器。
当Servlet被请求时,容器自动创建Servlet对象xServlet,然后xServlet调用它的init()方法。至此,Servlet初始化结束。
一旦客户端请求Servlet,xServlet自动调用service()来处理请求。
d.一旦Servlet长时间没有被请求(或者Servlet超时),容器就会从容器中清除xServlet。