JSP详解-1

jsp

JSP 本质上就是⼀个 Servlet,JSP 主要负责与⽤户交互,将最终的界⾯呈现给⽤户,HTML+JS+CSS+Java 的混合⽂件。

当服务器接收到⼀个后缀是 jsp 的请求时,将该请求交给 JSP 引擎去处理,每⼀个 JSP ⻚⾯第⼀次被访问的时候,JSP 引擎会将它翻译成⼀个 Servlet ⽂件,再由 Web 容器调⽤ Servlet 完成响应。

单纯从开发的⻆度看,JSP 就是在 HTML 中嵌⼊ Java 程序。

具体的嵌入方式有3种:

  1. JSP脚本,执行Java逻辑代码
<% Java代码 %>
  1. JSP声明:定义Java方法
<%!
声明Java方法
%>

3.JSP表达式:把Java对象直接输出到HTML页面中

<%=Java变量 %>
<%!
public String test(){
     
	return "HelloWorld";
}
%>
<%
String str = test();
%>
<%=str%>

JSP内置对象9个

  1. request:表示一次请求,HttpServletRequest.
  2. response:表示一次响应,HttpServletResponse。
  3. pageContext:页面上下文,获取页面信息,PageContext.
  4. session:表示一次会话,保存用户信息,HttpSession。
  5. application:表示当前 Web应用,全局对象,保存所有用户共享信息,SservletContext。
  6. config:当前JSP对应的Servlet的ServletConfig对象,获取当前Servlet的信息。
  7. out:向浏览器输出数据,JspWriter.
  8. page:当前JSP对应的Servlet对象,Servlet。
  9. exception:表示JSP页面发生的异常,Exception。

注解:JSP内置对象之所以能够直接使用,是因为jsp代码会解析成servlet,servlet已经给了实例对象了,例如request在servlet中作为doGet或doPost的形参,初始化的时候就会传过来一个实参,解析的时候request会被放到方法里面,从而直接调用.

常用的是 request、response、session、application、pageContext

request常用方法:

  1. String getParameter(String key)获取客户端传来的参数
  2. void setAttribute(String key,Object value)通过键值对的形式保存数据。
  3. Object getAttribute(String key) 通过key取出value。2,3这两个主要用于服务器内部进行参数传递
  4. RequestDispatcher getRequestDispatcher(String path)返回一个RequestDispatcher对象,该对象forward方法用于请求转发。
  5. String[] getParameterValues()获取客户端传来的多个同名参数。
  6. void setCharacterEncoding(String charset)指定每个请求的编码。

response 常⽤⽅法:
1、sendRedirect(String path) 重定向,⻚⾯之间的跳转。
转发 getRequestDispatcher 和重定向 sendRedirect 的区别:
转发是将同⼀个请求传给下⼀个⻚⾯,重定向是创建⼀个新的请求传给下⼀个⻚⾯,之前的请求结束⽣
命周期。

**转发:**同⼀个请求在服务器之间传递,地址栏不变,也叫服务器跳转。
**重定向:**由客户端发送⼀次新的请求来访问跳转后的⽬标资源,地址栏改变,也叫客户端跳转。

如果两个⻚⾯之间需要通过 request 来传值,则必须使⽤转发,不能使⽤重定向。
⽤户登录,如果⽤户名和密码正确,则跳转到⾸⻚(转发),并且展示⽤户名,否则重新回到登陆⻚⾯(重定向)。

你可能感兴趣的:(JSP学习记录,jsp)