-
概述
- 动态网页的执行原理
- JSP功能与特性
- JavaEE规范的web组件,编写动态页面
- 运行在服务端,本质是Servlet
- 以.jsp为后缀,放在WebContent目录下
- JSP执行流程解析
- 翻译->编译->实例化->提供服务
-
页面元素及内置对象
- 页面元素 pass,有兴趣去看之前的那个资料
- 内置对象: JSP中直接使用的对象,不需要声明,使用固定名字进行使用
- 对象哪儿来?-----服务器翻译编译jsp时默认声明创建。在jsp的Service方法的参数和方法体中
- 为什么可以直接用?—写的jsp中的所有内容,都在服务器翻译在内置对象创建后。
- 有哪些内置对象?—request、response、out、session、等
- 内置对象 的 详细----------已经在jsp的java类中变量或作为参数已经初始化好的
- HttpServletRequest request请求
- HttpServletResponse response响应
- Httpsession session 会话
- ServletContext application 应用(你的网站项目)
- Object page this当前jsp java类
- PageContext pageContext----注意源码,你会发现其他对象基本是由它获取的
- exception
- JspWriter out
- ServletConfig config
-
jsp生命周期
- <%=request.getServletContext().getRealPath(".") %> --真实文件目录
- 找到work文件夹那儿查看编译后的文件 /Catalina/localhost/
- jsp翻译成java
- 表达式元素<%= %> out.print(表达式代码) =>_jspService
- 脚本元素<% %> 直接java代码运行=>_jspService
- 静态部分(HTML或文字) out.write(静态代码)=>_jspService
- 声明元素<%! %> 在类中作为属性或者方法存在
- 静态注释 out.write(静态代码),保留在原处/动态,直接不翻译
- jsp编译成class文件
- 执行
- <%=request.getServletContext().getRealPath(".") %> --真实文件目录
-
Serlvet与JSP作用总结
-
Servlet与JSP作用总结
- Servlet接受来自JSP请求,处理后,跳转到JSP页面显示结果
-
Servlet与JSP之间跳转的方式–当然是可以互相跳转的
-
响应重定向 响应接口中提供该方法
- void sendRedirect(String location) 响应重定向到location,相当于重新请求
重定向:reponse.sendRedirect("show.jsp")//注意可以重定向到另一个servlet中去。
-
请求转发 RequestDispatcher接口中定义请求转发方法
- forward(ServletRequest request,ServletResponse response) 将请求转发到服务器上的其他资源,包括其他的Servlet、JSP等
- 获取RequestDispatcher对象
- getRequestDistpatcher(String path) 返回一个RequestDispatcher对象
请求转发:response.getRequestDispatcher("showl.jsp").forward(request,response);
-
区别:
- 响应重定向:2次请求 请求转发:1次 请求
- Url地址会变 ; Url地址不会更改
- 通过浏览器跳转(对用户不透明) ;服务器跳转(对用户透明)
- 得不到原始请求参数 ;携带原始请求参数
-
两种方式的使用场景
- 响应重定向:业务处理结束,进入一个新的界面或跳到外部网页
- 请求转发:多用于服务器内部的多个处理阶段之间的衔接:
- Jsp:编写动态网页,本质上是Servlet
- Servlet处理业务逻辑->jsp渲染页面
-
注意:在使用请求转发时,记得return,否则后面仍然要执行。
-
-
请求属性的使用
- 如果需要在Servlet、JSP之间跳转,同时将自定义的,或通过数据库查询、调用其它资源获得的数据传递到下一个资源时,可以设置为请求的属性即可
- 请求接口中定义一系列与属性相关方法
- setAttribute(String name,Object o) 将任意类型对象设置为请求属性
- getAttribute(String name) 获取属性值
- removeAttribute(String name) 删除属性
-
-
登陆案例
JavaEE基础三之JSP入门
最新推荐文章于 2024-05-28 09:03:13 发布