JSP的了解和使用
文章目录1.概述2.本质3.核心组成4.优点5.缺点6.作用域1.概述JSP 的全称是 Jakarta Server Pages曾用名JavaServer Pages是一种用于开发动态网页的 Java Web 技术。 它的核心思想是在 HTML 页面中嵌入 Java 代码让静态页面“活”起来能够根据用户请求动态生成内容。2.本质JSP 本质上是一种简化的 Servlet 设计。 工作流程 1用户请求一个 .jsp 页面。 2Web 服务器如 Tomcat会将这个 JSP 文件翻译成一个 Java 文件这个 Java 文件本质上就是一个 Servlet 类。 3服务器编译这个 Java 文件生成 .class 字节码。 4服务器执行这个 Servlet生成 HTML 响应返回给浏览器。3.核心组成JSP 通常不单独使用而是与另外两个技术组成经典的 JSP Servlet JavaBean 架构. JSP负责展示数据视图层 View Servlet负责处理请求和控制流程控制层 Controller。 JavaBean负责封装数据和业务逻辑模型层 Model。4.优点1开发简单对于 Java Web 初学者来说JSP 比纯 Servlet 更直观可以快速写出动态页面。 2与 Java 无缝集成可以方便地使用 Java 强大的类库JDBC、多线程、集合等。 3一次编写到处运行继承了 Java 的跨平台特性。5.缺点1前后端高度耦合Java 代码和 HTML 标签混在一起页面逻辑复杂时代码变得难以阅读和维护。 2开发效率低修改一点 Java 逻辑往往需要重启整个 Web 服务器。 3性能瓶颈每次访问 JSP 都要经历“翻译 - 编译 - 执行”的过程虽然有缓存但首次访问较慢。 4职责不清晰精通 HTML 的前端工程师很难维护夹杂着 Java 代码的 JSP 文件。 5技术生态落后随着前后端分离前端用 Vue/React后端只提供 JSON 接口和模板引擎如 Thymeleaf、Freemarker的兴起JSP 逐渐被取代。6.作用域在web应用中JSP创建的对象有一定的生存周期可以被其他对象或者其他组件访问对象的生存周期及可访问性称为 作用域。 JSP有4大作用域按照可以访问域的范围从小到大为page -- request -- session -- application。 1pageContext页面域) pageContext 有效范围仅限于当前页面可以近似理解为 this 。 对象在离开当前页面后无论是 request 或者是 redirect 等方式离开的当前页面的相关属性值都会丢失。 2request (请求域) request 表示一次请求它的有效范围是当前请求周期。 所谓请求周期就是从 http 发送请求到服务器接收并处理请求将结果返回到客户端响应。在这一过程中可能使用 forward 跳转了多个 jsp 页面而在这多个 jsp 页面中属性值都有效但如果是通过 redirect 方式进行跳转会重新发送请求这样属性值就会丢失。 注意 forward() 转发是服务器端的地址栏地址不会改变。 redirect() 是请求重定向是客户端的地址栏的地址为重新定向的页面会改变。 3session会话域 session有效范围是当前会话当前会话表示浏览器打开导浏览器关闭这一过程。 但会出现这种情况浏览器一直处于打开状态这样session永远不会销毁而且在浏览器关闭时并不会通知服务器另外session是存放于服务器的内存上这样对服务器是一种负担。 所以通过这种方式来判断如果一段时间内客户端没有相应就认为会话结束。 tomcat默认会话时常是120分钟但是可以通过HttpSession和setMaxinactivelnteval()方法来设置。 4application应用域 application 有效范围是整个应用。从应用开启到应用结束在服务器停止之前应用没有结束application 对象都有效可以被所有会话共享。 application作用域的变量的存活时间是最长的如果不手动删除就会一直存在。 application的变量是共享的如果a修改了application的变量那么b访问的是修改后的值。这在其他作用域是不会发生的因为page、request、session是完全隔离的用户之间不会影响。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2512822.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!