052天+++
行百里者半九十,想要在一个行业里成为顶尖人才,一定满足一万小时定律,要想学好JAVA,需要持之以恒不断地努力,每天都要勤思考+善于询问+解决问题!
知识温故而知新>>>>>>
成员变量,局部变量和静态变量的区别和概念
今天学到的知识>>>>>>
相对路径与绝对路径的概念
JSP中三种注释的类型
JSP中九个内置对象及其方法
jsp的概念特点和第一个jsp页面
简述什么是jsp
JSP 全名为 Java Server Pages,中文名叫 java 服务器页面,其根本是一个简化的 Servlet 设计,它 [1] 是由 Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。
jsp的访问原理图
简述Jsp的访问原理流程
浏览器发起请求,请求 JSP,请求被 Tomcat 服务器接收,执行JspServlet 将请求的 JSP 文件转义成为对应的 java 文件(也是Servlet),然后执行转义好的 java 文件。
jspservlet
jsp的访问原理总结
视频中的注意是什么,请写出
jsp的page指令
请列出视频中讲解的page指令的属性及作用
请说明page指令session属性的作用
指定所在页面是否参与HTTP会话。默认值为true,session="true"。
jsp的局部代码块和全局代码块和脚本段语句
局部代码块和全局代码和脚本段语句的声明分别是
Jsp的局部代码块:
特点:
局部代码块中声明的java代码会被原样转译到jsp对应的servlet文件的_JspService方法中
代码块中声明的变量都是局部变量。
使用:<% java代码 %>
缺点:
使用局部代码块在jsp中进行逻辑判断,书写麻烦,阅读困难。
开发:
servlet进行请求逻辑处理,使用jsp进行页面展现。
Jsp的全局代码块:
特点:
声明的java代码作为全局代码转译到对应的servlet类中。
使用:
<%! 全局代码 %>
注意:
全局代码块声明的代码,需要使用局部代码块调用。
局部代码块声明和全局代码块声明的区别是?
Jsp的局部代码块:
特点:局部代码块中声明的java代码会被原样转译到jsp对应的servlet文件的_JspService方法中
代码块中声明的变量都是局部变量。
使用:<% java代码 %>
Jsp的全局代码块:
特点:
声明的java代码作为全局代码转译到对应的servlet类中。
使用:
<%! 全局代码 %>
jsp的注释
jsp的注释
JSP页面的普通注释:<!-- 注释内容 -->注释的内容是可见的,将出现在生成的HTML代码中,此代码将发送给浏览器,然后由浏览器负责忽略此注释。
JSP页面中的隐藏注释 :<%-- 注释内容 --%>标记的内容客户端查看源码时是完全看不到的。
JSP中java代码块注释:客户端不可见
<% // 注释内容 %> 单行注释
<% /* 注释内容 */ %>多行注释
jsp的注释<%%>的特点是什么
java代码块注释:客户端不可见
jsp的静态引入和动态引入
静态引入和动态引入的标签分别是?
<jsp:include>标签是动态引入,
include指令是静态引入
静态引入和动态引入的区别是?
<jsp:include>标签是动态引入, <jsp:include>标签涉及到的2个JSP页面会被翻译成2个servlet,这2个servlet的内容在执行时进行合并。
include指令是静态引入,涉及到的2个JSP页面会被翻译成一个servlet,其内容是在源文件级别进行合并。
jsp的forward标签学习
forward标签的作用及使用注意事项是?
<jsp:forward>是jsp的动作标签,作用不是重定向。请求转发是它的任务。
通过该动作标签(可以加入<jsp:param>传递参数),页面将(带着加入的参数)跳转到指定的页面(跳转到的页面可以通过request.getParameter(" ")方法来获取参数)。
jsp的内置对象学习
jsp的九大内置对象分别是?
1.request对象(HttpServletRequest):封装用户请求数据,通过该对象可以获取用户请求的相关数据。
常用的方法:
request.getParameter(String name)--->String: 根据参数的名称获取参数的值。
request.getParameterValues(String name)--->String[]:根据参数的名称获取参数的值。主要用于复选框。
request.setAttribute(String name,Object value):将指定的值存到request范围中.
request.getAttribute(String name):通过名称从request返回中获取值。
request.getRequestDispatcher(String url).forward(request,response):请求转发
request.setCharacterEncoding(String encoding):设置请求编码集,可以解决post提交的乱码问题。
request.getSession():获取会话对象。
需要了解的方法
request.getScheme():获取协议 --->http
request.getServerName():获取服务器名称或IP地址
request.getServerPort():获取服务器端口号
request.getContextPath():获取上下文路径(默认是项目名)
2.response对象(HttpServletResponse):封装响应数据。
常用的方法:
response.setContentType(String content);
response.setContentType("text/html;charset=utf-8");
response.sendRedirect(String url):重定向
response.getWriter()--->JspWriter:获取输出流进行输出
3.session对象(HttpSession):封装会话信息(浏览器和服务器之间的会话),一个会话中多次请求数据共享。
常用的方法
session.setAttribute(String name,Object value):存值
session.getAttribute(String name):取值
session.invalidate():销毁会话
4.application对象(ServletContext):封装Servlet上下文信息,整个应用程序共享。
常用的方法
application.setAttribute(String name,Object value):存值
application.getAttribute(String name):取值
5.out对象(PrintWriter):在页面输出信息
out.print(Object content)/out.println(Object content);
out.write(Object content)
6. pageContext对象:页面上下文对象,可以通过该对象获取其他8个内置对象
pageContext.setAttribute(String name,Object value):存值
pageContext.getAttribute(String name):取值
7.page对象(this):当前页面
8.config对象(ServletConfig):封装配置信息
9.exception(Exception):封装异常信息
jsp中的四个作用域对象是?
pageContext:当前页面.解决了在当前页面内的数据共享问题。获取其他内置对象。
request:一次请求。一次请求的servlet的数据共享。通过请求转发,将数据流转给下一个servlet。
session:一次会话.一个用户的不同请求的数据共享。将数据从一次请求流转给其他请求。
application:项目内.不同用户的数据共享问题。将数据从一个用户流转给其他用户。
作用:数据流转
jsp和Servlet的职责讲解
简述jsp与servlet的职责
1.jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类)
2.jsp更擅长表现于页面显示,servlet更擅长于逻辑控制.
3.Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到.
Jsp是Servlet的一种简化,使用Jsp只需要完成程序员需要输出到客户端的内容,Jsp中的Java脚本如何镶嵌到一个类中,由Jsp容器完成。而Servlet则是个完整的Java类,这个类的Service方法用于生成对客户端的响应。
servlet请求转发和重定向jsp页面以及相对路径讲解
使用相对路径请求转发和重定向会出现什么问题?
Servlet中请求转发和重定向的绝对路径
简述为什么请求转发和重定向的路径最好写成绝对路径
说明请求转发和重定向路径中第一个斜杠的含义
以/开头的都是全路径,全路径是从项目根目录(WebContent)出发找到其他资源的过程。
jsp中的绝对路径和basePath方式
简述jsp中的路径的第一个斜杠的含义
以/开头的都是全路径,全路径是从项目根目录(WebContent)出发找到其他资源的过程。
简述jsp中的basePath设置的作用
Basepath其实就是提供了一个默认的绝对路径,相当于:localhost:8080/项目名/,让我们在写路径的时候不再为路径错误导致的404烦恼。