JavaWeb-- jsp

jsp概述

Jsp— java server page(他是运行运行在你的服务器端的页面程序)—他就是jsp必须放入到你的tomcat服务器中去运行; jsp他是servlet的后期发展需要的时候来的一个东西;—他是为了解决我们servlet没办法把数据直接显示在你的页面;就出现一个jsp ,他是用来对你的数据进行显示用的; 并且还有了能够同时写(html,css,js,java这些都可以直接写在jsp中;) jsp是在你的servlet之后出现的。

  • 特点:

    • jsp = html+servlet
    • jsp中可以编写html的方式编写servlet
    • jsp就是披着html的servlet,本质还是servlet
    • jsp不能脱离servlet容器运行
  • 缺点:

    • Jsp非常常慢
    • 里边涵盖的内容—非常的杂乱。
  • 运行原理:

    • jsp–>翻译–>Java–>编译–>class

Jsp的生命周期:

JSP生命周期就是从创建到销毁的整个过程,类似于servlet生命周期,区别在于JSP生命周期还包括将JSP文件编译成servlet。----jsp必须使用 tomcat来转换你的jsp,把你的jsp转换成servlet;

JSP基本语法

  • html ,css,js在jsp中写法和html中的写法相同
  • 脚本片段写在<% %>中,脚本片段会原封不动的复制到java文件的service方法中的对应位置,在service方法中可以写什么,在脚本片段中就可以写什么,在jsp中可以编写多个脚本片段,但是要求多个脚本片段之间的结构完整。
<%
      Date date = new Date();
  %>
  • 想要在页面打印输出:
<%=date%>
  • 注释

    • < !-- --!>:HTML注释
    • //:java的注释
    • <%-- --%>:jsp的注释
  • 声明全局变量,注意这个感叹号

<%!
    int i = 0;
%>
  • 三种指令标签
指令描述
<%@ page … %><%@ page … %> 定义页面的依赖属性,比如脚本语言、error页面、缓存需求等等
<%@ include … %>包含其他文件
<%@ taglib … %>引入标签库的定义,可以是自定义标签
  • page指令的属性:
       import:在jsp中导包
       errorPage:当页面出现错误以后,要转发到的错误页面
       isErrorPage:当前页面是否是一个错误页面,默认为false,如果设置为true,则可以在该页面中使用exception对象
       isELIgnored:是否忽略EL表达式,默认值是false,一般不动
       session:JSP中是否会自动创建session,默认值是true,一般不动
       contentType:设置当前JSP内容的类型
       pageEncoding:当前页面使用的编码,jsp引擎会自动根据该编码解析jsp文件
       language:JSP页面将会被翻译为的语言,默认值是java,可选值只有一个java
       autoFlush:是否自动刷新流中内容,默认是true,一般不动
       buffer:流使用的缓存大小,默认是8kb,一般不动
       extends:当前JSP对应的java文件需要继承的父类,一般不动
       info:设置jsp的信息

  • include指令—他用来引入另一个文件;

    • <%@ include file=“life.jsp” %>
  • Taglib指令—引入外部标签库; 用他来引入 jstl;
    <%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>

Jsp的10大动作(行为)

语法描述
jsp:includejsp:include 用于在当前页面中包含静态或动态资源
jsp:useBeanjsp:useBean 寻找和初始化一个JavaBean组件
jsp:setProperty设置 JavaBean组件的值
jsp:getPropertyjsp:getProperty 将 JavaBean组件的值插入到 output中
jsp:forwardjsp:forward 从一个JSP文件向另一个文件传递一个包含用户请求的request对象
jsp:plugin用于在生成的HTML页面中包含Applet和JavaBean对象
jsp:elementjsp:element 动态创建一个XML元素
jsp:attributejsp:attribute 定义动态创建的XML元素的属性
jsp:bodyjsp:body 定义动态创建的XML元素的主体
jsp:text用于封装模板数据
  • 这里说明一下

    • jsp:useBean 导入你的java里边的具体的类;然后就可以使用; 例如:
      <jsp:useBean id="User" class="com.wdhcr.test.User"></jsp:useBean>
    • jsp:setProperty 就是把你的表单提交过来的数据对应到类上;例如:

这是html页面的form表单

<form action="index.jsp">
    用户名:<input type="text" name="name">
    密码:<input type="password" name="password">
    <input type="submit" value="提交">
</form>

这是jsp页面代码:

<%--  获取页面的数据,并存放在user类中--%>
<jsp:useBean id="User" class="com.wdhcr.test.User"></jsp:useBean>
  <jsp:setProperty name="User" property="name" ></jsp:setProperty>
  <jsp:setProperty name="User" property="password" ></jsp:setProperty>
<%--  取数据在页面显示--%>
  用户名:<jsp:getProperty name="User" property="name"/>
  密码:<jsp:getProperty name="User" property="password"/>

  • jsp:forward 把你的请求转发给另外的地方;例如:
<jsp:forward page="login.jsp"></jsp:forward>

Jsp里边的9大内置对象; 就是jsp提前给你定义好的9个对象,不需要你去进行创建对象,直接使用;

语法描述
requestHttpServletRequest类的实例
pageContext页面上下文对象,它是最后一个没讲的域对象;
responseHttpServletResponse类的实例
outPrintWriter类的实例,用于把结果输出至网页上
sessionsession HttpSession类的实例
applicationapplication ServletContext类的实例,与应用上下文有关
configServletConfig类的实例
page类似于Java类中的this关键字
ExceptionException类的对象,代表发生错误的JSP页面中对应的异常对象
  • Request: 他就相当是我们在servlet里边的 httpServletRequest;
    能够完成接收你的前端数据;然后获取你的请求头里边的信息;例如:
String name= request.getParameter("name");
  • response: 用来响应你的数据;例如重定向:
response.sendRedirect("index03.jsp");
  • Out: 就是内置 让你直接可以打印到你页面;
out.print(name);
  • session: 这个就是你的一次回话,例如:
<%
      //设置会话的值
     session.setAttribute("user","value");
  %>
<%--  获取 值并打印到页面--%>
  <%=session.getAttribute("user")%>

  • application: 他就代表你的当前的这个应用程序:
    这是index.jsp中代码,在这是jsp中设置一个值

<%
    application.setAttribute("user","values");
%>

这是index01.jsp中代码,在这个jsp中也可以访问到application中的值。

<%= application.getAttribute("user")%>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值