JSP和Servlet的区别

Servlet的是一个特殊的java程序,能够依靠web服务器的支持像浏览器提供显示内容

jsp本质上是Servlet的简化形式 JSP会被服务器解析成一个类似servlet的java程序,可以简化页面内容生成,JSP侧重驶入,servlet侧手那个控制逻辑

是说说你对servlet的认识

Servlet的本质是服务器端的一个小程序,这个小程序不是随便写的,必须实现sun指定的servlet接口,servlet是有生命周期的

servlet的生命周期

servlet的生命周期是始于把他装入内存时,并在终止时重新装入servlet时结束,生命周期包含加载和实例化,初始化,请求处理,以及服务结束

生命周期方法是在servlet接口的init,servlet,destroy方法中表达的

servlet是线程安全的吗?

servlet是单例的,所有的请求都是这一个实例,如果全局变量被线程使用时,会出现线程安全问题

解决方法有:singleThreadModel,synchroized修饰 或者不使用全局变量三种方式,但是SingliTreadModel接口已经弃用了

Forward和redinect的区别

转发是服务器行为,重定向是客户端的行为

转发是一次请求,重定向是两次请求

转发 是共享request的数据,重定向是不共享request的数据

转发效率高,重定向效率低

JSP有哪些内置作用域

JSP有九大内置对象四大作用域

九大内置对象: request,Response,out,pageConfig,application,session,config,page,exception

四大作用域: application,session,resquest,page

四大作用域的生命周期

servletContxt是Web的四大作用域中最大的,他的范围为整个web项目,ServletContext,是一个全局的储存信息的空间,服务器开始,其就存在,服务器关闭,其才释放。

servletContext一般储存的是整个web项目重要的共享信息。

servletContext是容器servlet的上下文,在整个Tomcat启动的过程中均有用。

application 是jsp中的一个内置对象,等同于servletContext。