标签:config 全局 ssi 有一个 error 扩展名 区别 对象 包括
1.jsp的本质就是servlet,jvm只能识别java的类,不能识别jsp的代码,Web容器将jsp的代码编译成jvm能够识别的java类;
2.jsp工作原理:
(1)jsp页面在执行的时候会被服务端的jsp引擎转换为servlet(.java);
(2)jsp引擎调用java编译器,将servlet(.java)编译为class文件,并由java虚拟机解释执行;
(3)验证这一点:有一个JSP页面Test.jsp,在浏览器地址栏中输入http://localhost:8080/Test.jsp,将会出现执行结果。同时在%CATALINA_HOME%/work/Catalina
/localhost下多出两个文件:_Test_jsp.java和_Test_jsp.class,他们分别就是Servelet和Class文件。
3.区别:
(1)servlet的应用逻辑在java文件中,从java代码中动态输出html,并且完全从表示层中的html里分离出来;
(2)而jsp的情况是,java和html可以组合成一个扩展名为.jsp的文件。jsp侧重于视图,servlet主要用于控制逻辑;
(3)servlet中没有内置对象,而jsp的内置对象必须通过httpServletRequest和httpServletResponse以及httpServlet对象来获得。
4.servlet生命周期:
(1)init:servlet在装载时,调用一次init方法(也可以不调用或调用多次;如果不调用,默认调用父类的init方法;重写init方法可以多次调用)
(2)service:真正处理请求的地方,参数为servlet的请求与响应对象;
(3)destroy:与init类似,用于清除init中分配的资源。
5.jsp的9大内置对象:
(1)request:是 javax.servlet.httpServletRequest类型的对象。 该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据。(包括头信
息、系统信息、请求方式以及请求参数等)。request对象的作用域为一次请求。
(2)response:对客户端的响应,主要是将JSP容器处理过的对象传回到客户端。response对象也具有作用域,它只在JSP页面内有效。
(3)application:可将信息保存在服务器中,直到服务器关闭,否则application对象中保存的信息会在整个应用中都有效。与session对象相比,application对象生命
周期更长,类似于系统的“全局变量”。
(4)session:由服务器自动创建的与用户请求相关的对象。服务器为每个用户都生成一个session对象,用于保存该用户的信息,跟踪用户的操作状态。
(5)page:page 对象代表JSP本身,只有在JSP页面内才是合法的。 page隐含对象本质上包含当前 Servlet接口引用的变量,类似于Java编程中的 this 指针。
(6)pageContext:取得任何范围的参数,通过它可以获取 JSP页面的out、request、reponse、session、application 等对象。
(7)config:取得服务器的配置信息。
(8)out:用于在Web浏览器内输出信息,并且管理应用服务器上的输出缓冲区。
(9)exception:对象的作用是显示异常信息,只有在包含 isErrorPage="true" 的页面中才可以被使用,在一般的JSP页面中使用该对象将无法编译JSP文件
总结一句话:jsp就是在html里写java代码;servlet就是在java里写html代码。
标签:config 全局 ssi 有一个 error 扩展名 区别 对象 包括
原文地址:https://www.cnblogs.com/bobo306/p/8762071.html