JSP(jspdemo)
JSP(全称Java Server Pages)是一个基于Java技术的动态网页开发标准,由Sun Microsystems公司主导创建。以下是关于JSP的详细概念:
1. 定义
- JSP是一种动态网页技术标准,它允许在静态HTML页面中嵌入Java代码,使网页内容能够动态生成。
2. 工作原理
- 当Web服务器接收到一个请求,需要由JSP处理时,JSP引擎会将请求传递给JSP编译器。
- JSP编译器将JSP页面编译成一个Java Servlet。
- 编译得到的Java Servlet代码被JSP引擎加载到内存中,并创建一个实例对象。
- 每当有新的请求到达时,服务器会创建一个新的线程来处理该请求,并调用JSP的_service()方法来处理。
- JSP引擎将动态生成的内容转换为HTML,并将响应返回给客户端。
3. 特性
- 跨平台:由于JSP是基于Java的,因此它具有Java的跨平台特性,可以在不同的操作系统上运行。
- 业务代码分离:JSP使用HTML来设计和格式化静态页面内容,而使用JSP标签来实现动态部分,业务代码则通常使用servlet、struts、springmvc等业务控制层来处理,实现了业务层和视图层的分离。
- 组件重用:在JSP中,可以使用JavaBean编写业务组件,这些组件可以重复使用或应用到其他应用程序中。
- 继承Java Servlet功能:JSP的本质是servlet,因此它拥有servlet的所有功能。
- 预编译:用户首次访问JSP页面时,服务器会对JSP页面代码进行编译,并保存编译后的结果,下次访问时直接执行编译过的代码,提升了访问速度。
4. 应用场景
- 前端页面展示与交互:在Web应用开发中,JSP负责生成HTML、XML或其他标记语言格式的前端页面内容。
- 后台服务接口与数据绑定:JSP可以作为后台服务的API文档展示页面,并实现动态的数据绑定。
- 数据统计报表与可视化:结合Java Web框架和第三方报表工具,JSP能够生成丰富的图表报告。
- 个性化定制与国际化支持:JSP允许根据不同的浏览器环境、操作系统和语言习惯动态调整输出内容。
- 单点登录与权限管理:结合Java Security API和身份认证框架,JSP可用于实现单点登录和权限管理功能。
5. 组成
- JSP包含JSP指令、JSP脚本元素和变量、JSP动作以及JSP标签库等部分。
总结来说,JSP是一种功能强大的动态网页开发技术,它基于Java平台,具有跨平台、业务代码分离、组件重用等特性,广泛应用于Web应用开发、数据统计报表与可视化、个性化定制与国际化支持等领域。
请求转发
什么是请求转发
请求转发是服务端的一种请求方式,相当于在服务端中直接请求某个资源。
RequestDispatcher dispatcher = request.getRequestDispatcher("/test.jsp");
dispatcher.forward(request,response);
简写方式:
request.getRequestDispatcher("/test.jsp").forword(request,response);
请求转发与重定向的区别
· 请求转发对于客户端浏览器而言是在一次请求与响应中完成,而重定向是在两次请求两次响应中完成。
· 请求转发并不会改变客户端浏览器的地址栏中的内容。而重定向会改变客户端浏览器地址栏中的内容。
· 请求转发可以使用request对象传递数据,而重定向不能使用request对象传递数据。
· 如果是处理的DML操作,建议使用重定向方式为客户端浏览器产生响应,可以解决表单重复提交现象。
请求转发案例(LanguageServlet)
需求:在Servlet中获取客户端浏览器所支持的语言,并通过JSP页面将客户端浏览器所支持的语言响应给客户端浏览器
获取语言:request.getHeader(“Accept-Language”)
请求转发:request.getRequestDispatcher("/showMsg.jsp").forword(request,response);
JSP中的四大作用域对象
作用域:“数据共享的范围”,也就是说数据能够在多大的范围内有效。
对象名称 | 作用范围 |
---|---|
application | 整个应用都有效 |
session | 在当前会话中有效 |
request | 在当前请求中有效 |
page | 在当前页面有效 |
我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!