zoukankan      html  css  js  c++  java
  • JSP

    JSP(全称Java Server Pages)是由Sun Microsystem公司倡导和许多公司创建的一种使软件开发者可以相应客户端请求。

    而动态生成H TML、XML或其他格式文档的Web网页的技术指标。

    JSP技术是以Java语言作为脚本语言。JSP网页为整个服务器端的Java库单元提供一个借口来服务于HTTP的应用程序。

    JSP是一个可视化的Servlet。

     

    1、JSP的三大标签

        <%@    指令

        <%        java代码

        <%!         声明方法以及属性

        <%=      相当于out.println()

    2、JSP的指令元素 共有三种:@page    @include  @taglib

        @page       用于设置JSP页面属性,这些属性用于和JSP容器。控制所生成的Srevlet结构

        @include    将外部内容包含到JSP文档中

        @taglib       声明用户使用自定义的标签,将标签库描述的文件导入jsp页面

    3、JSP的九大隐式对象

    1、request     封装用户请求

    2、response     向用户做出响应

    3、page       JSP页面本身

    4、session     客户和服务器间的会话

    5、config        包括Servlet初始化要用的参数

    6、application      于服务器启动时开始运行,用来存放全局变量,在用户间共享

    7、out                向客户端输出

    8、pageContext   用于访问page的各种对象

    9、exception   异常

    1 <body>
    2         你好
    3         <%
    4                 out.write("Hello");
    5                 response.getWriter().write("Hiiiiiiii");
    6         %>
    7 </body>

     

    从浏览器键入http://localhost:8080/20180912/index.jsp

    执行结果:

    response比ut.write()运行的快

     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8" %>
     3     <%@ page import="java.util.Date" %>  导入包
     4     <%@page import="java.text.SimpleDateFormat"%>  
     5 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     6 <html>
     7 <head>
     8 <meta http-equiv="Content-Type"  content="text/html;charset=UTF-8"">
     9 <title>Insert title here</title>
    10 </head>
    11 <body>
    12         你好
    13         <%
    14                 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
    15                 out.write(sdf.format(new Date()));
    16         %>
    17 </body>
    18 </html>

    从浏览器键入http://localhost:8080/20180912/index.jsp

    执行结果:

    方法的声明和调用

    1 <!-- 声明方法和属性 -->
    2        <%! int a=1;%>
    3        <%! public String abc(){
    4            return "111";
    5        }
    6        %>
    7 <!-- 调用  采用%= -->
    8        <%=a%>
    9        <%=abc() %>

    4、 静态包含和动态包含

      静态包含:<%@ include file="被包含页面"%>

      动态包含:<jsp:include page="被包含页面" flush="true"></jsp:include>

     静态包含以及动态包含的区别:

      被包含的页面 不能添加base和响应头

      静态包含发生在:jsp----->java文件阶段    动态包含发生在:执行class文件阶段动态加入。

      静态包含:只生成一个java文件  动态包含:生成多个class文件

      无论是动态包含还是静态包含,其request对象都是相同的,也就是同一个request。

      静态包含速度优于动态包含

     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     4 <html>
     5 <head>
     6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8>
     7 <title>Insert title here</title>
     8 </head>
     9 <body>
    10             <!-- 静态嵌入页面 -->
    11             <%@ include file="static.jsp" %>
    12             <!-- 动态嵌入页面 -->
    13             <jsp:include page="abc.jsp"></jsp:include>
    14 </body>
    15 </html>

     5、报错页面处理

    局部页面处理:

          errorPage   制定当前jsp页面错误的处理

          isErrorPage  如果是true,就处理页面的错误信息

    处理404错误,404报错会出现提示,为了提高用户体验,将404页面进行视觉化处理

    -----------------------------------error.jsp-------------------------------------

     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"  %>
     3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     4 <html>
     5 <head>
     6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     7 <title>Insert title here</title>
     8 </head>
     9 <body>
    10        <img alt=""   src="img/123.png" >
    11 </body>
    12 </html>

    -----------------------------------web.xml(公共)-------------------------------------

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
     3   <error-page>
     4   <error-code>404</error-code>
     5   <location>/error.jsp</location>  跳转到error.jsp页面
     6   </error-page>
     7   
     8  <error-page>
     9   <error-code>500</error-code>
    10   <location>/error.jsp</location>
    11   </error-page> 
    12   
    13   <display-name>20180913</display-name>
    14   <welcome-file-list>
    15     <welcome-file>index.html</welcome-file>
    16     <welcome-file>index.htm</welcome-file>
    17     <welcome-file>index.jsp</welcome-file>
    18     <welcome-file>default.html</welcome-file>
    19     <welcome-file>default.htm</welcome-file>
    20     <welcome-file>default.jsp</welcome-file>
    21   </welcome-file-list>
    22 </web-app>

    从浏览器键入URL:http://localhost:8080/20180913/12

    执行结果:

     

    500错误也可以跳转到error页面(验证)

    -----------------------------------exception.jsp-------------------------------------

     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8" errorPage="error.jsp" %>
     3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     4 <html>
     5 <head>
     6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     7 <title>Insert title here</title>
     8 </head>
     9 <body>
    10         <%
    11         int i=1/0;  ---->此处会报500错误
    12         %>
    13 </body>
    14 </html>

    -----------------------------------error.jsp-------------------------------------

     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"  isErrorPage="true" %>
     3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     4 <html>
     5 <head>
     6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     7 <title>Insert title here</title>
     8 </head>
     9 <body>
    10        <img alt=""   src="img/123.png" >
    11     <%
    12     if(exception!=null){
    13         String msg=exception.getMessage();
    14         if(msg!=null){
    15             out.print(msg);  --打错错误信息
    16         }
    17     }
    18     %>
    19 </body>
    20 </html>

    从浏览器键入URL:http://localhost:8080/20180913/exception.jsp

    执行结果:

  • 相关阅读:
    P3162 [CQOI2012]组装
    P3161 [CQOI2012]模拟工厂
    P3158 [CQOI2011]放棋子
    P3154 [CQOI2009]循环赛
    zabbix部署监控端(server)以及页面优化
    zabbix-agent端自定义监控项(free -m)服务器内存使用率
    java应用系统运行速度慢的解决方法
    at org.apache.hadoop.hbase.tmpl.master.BackupMasterStatusTmplImpl.renderNoFlush(BackupMasterStatusTm
    解决Hbase启动后,hmaster会在几秒钟后自动关闭(停掉)!!!
    全网最详细的Hadoop HA集群启动后,两个namenode都是standby的解决办法(图文详解)
  • 原文地址:https://www.cnblogs.com/echola/p/9647252.html
Copyright © 2011-2022 走看看