当前位置 : 主页 > 编程语言 > java >

jsp(Java的服务网页)

来源:互联网 收集:自由互联 发布时间:2021-06-25
JSP:Java Server Page(Java的服务网页),也是Java的动态网页. JSP的本质:其实就是一个Servlet. JSP----翻译成Servlet类----编译成字节码文件---解释执行了. 1.jsp的基本语法: 1、JSP的注释: 作用:注释
JSP:Java Server Page(Java的服务网页),也是Java的动态网页.  JSP的本质:其实就是一个Servlet.  JSP---->翻译成Servlet类---->编译成字节码文件--->解释执行了.   1.jsp的基本语法: 1、JSP的注释:    作用:注释Java脚本代码    语法:<%--这是注释--%>,JSP的注释不会被翻译到Servlet代码中去. 2、JSP的Java脚本表达式:    作用:输出数据到页面上    语法:<%=表达式%>(实际上就是调用输出流打印到页面上) out.print(表达式); 3、JSP中的Java脚本片段:(实际开发中,应做到JSP中不能出现一行Java脚本片段)    作用:书写Java代码逻辑   2.三大指令: /*page*/ 作用:定义JSP页面的各种属性 属性:    1、language:指示JSP页面中使用脚本语言。默认值java,目前只支持java。     2、extends:指示JSP对应的Servlet类的父类。不要修改。    3、*import:导入JSP中的Java脚本使用到的类或包。(如同Java中的import语句) 注意  1、一个import属性可以导入多个包,用逗号分隔。  2、*sessioin:指示JSP页面是否创建HttpSession对象。默认值是true  3、*buffer:指示JSP用的输出流的缓存大小.默认值是8Kb。  4、autoFlush:自动刷新输出流的缓存。  5、isThreadSafe:指示页面是否是线程安全的(过时的)。默认是true。  6、true:不安全的。  7、false:安全的。指示JSP对应的Servlet实现SingleThreadModel接口。  8、*errorPage:指示当前页面出错后转向(转发)的页面。  9、目标页面如果以"/"(当前应用)就是绝对路径。   配置全局错误页面提示 访问当前JSP的时候,出现错误(404找不到/500代码有问题),我们可以专门提供一个错误页面. 出错之后,就跳转到错误页面,显示错误信息.
web.xml
<error-page>
	<exception-type>java.lang.Exception</exception-type>				<location>/error.jsp</location>
</error-page>
<error-page>
       <error-code>404</error-code>
	<location>/404.jsp</location>
</error-page>
    /*include*/ 作用:包含其他的组件。 语法:<%@include file=""%>file指定要包含的目标组件。路径如果以"/"(当前应用)就是绝对路径。 原理:把目标组件的内容加到源组件中,输出结果。 动态包含:采用动作元素:<jsp:include page=""/>路径如果以"/"(当前应用)就是绝对路径。   /*taglib*/ 作用:引入外部的标签 语法:<%@taglib uri="标签名称空间" prefix="前缀"%> 例:<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>   3.九大内置对象   4.servlet+jsp综合   5.jsp代码解说
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>

</head>
<body>

<%= pageContext.findAttribute("test")!=null ? pageContext.findAttribute("test") : "111" %>
    
${test }

<%-- ${pageContext.getRequest().getContextPath()} --%>
<!-- 通过实体.属性 -->
<%-- ${user.username }
${user.password } --%>

<!-- 
jsti常用标签:
    c:forEach:
    items:要循环的集合/列表
    var:定义集合元素的类型
    begin:从第几项开始循环
    end:循环到第几项结束
    step:循环的步长
    varStatus:关于下标的对象
    index:下标
    count:成员总数
    first:判断是否是第一个元素(boolean)
    last:最后一个元素(boolean)
    
    c:set:
    var:定义变量名称 
    value:变量的值
    scope:变量的作用域 默认为:page
    
    c:remove:
    var:需要移除的变量名
    scope:作用域
    
    c:out:
    value:输出的值(相当于<%-- <%=%> --%>)
    
    c:if
    
    
    
    
    
 -->
<table border="1">
<c:forEach items="${users }" var="user" varStatus="item">
  <c:set var="setDemo" value="${item.index }"></c:set>  
  <c:remove var="setDemo"/>
  <%-- <td> ${testDemo }</td> --%>
  <c:if test="${item.index > 10 }" var="testDemo">
  <tr>
      <td> <c:out value="1"></c:out></td>
      <td> ${user.username }</td>
      <td> ${user.password }</td>
  </tr>
  </c:if>
  
  
  <c:choose>
      <c:when test="${item.index > 10 }">
          <c:out value="大于10"></c:out>
      </c:when>
      <c:otherwise>
          <c:out value="小于等于10"></c:out>
      </c:otherwise>
  </c:choose>
  
</c:forEach>


</table>
</body>
</html>

6.相关的导包:
6.相关的导包: 7.jsp作用域范围从大到小: pageContext-->request-->session-->application 什么叫做作用域:对象的声明周期和可访问性
网友评论