jsp基础

Posted lastingjava

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp基础相关的知识,希望对你有一定的参考价值。

概念:
servlet处理业务逻辑比较方便,但是响应页面的时候 就比较麻烦,所以使用JSP,JSP命名叫 java server pages,中文名叫java服务器页面,其根本是一个简化的Servlet,是一种动态网页技术标准
特点:
本质是还是servlet;
跨平台;
健壮性安全性;
技术分享图片 
jsp指令学习:
<%@ page language="java" pageEncoding="utf-8"%>
 指定属性 language,pageEncoding,contentType,import,session,errorPage 等
<%@ page language="java" pageEncoding="utf-8" import="java.util.*" errorPage="MyJsp.jsp" isErrorPage="true"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%--
       java代码写在<% %>里面,声明java方法写在<%! %>里面,
       <%=  %>用来输出java变量到页面,要理解jsp转化为java代码的规则
       
       静态引入:<%@include file="include.jsp" %>
       静态引入特点:静态引入的jsp不会被转译成class文件
                            两个jsp文件合并成一个;
       注意:因为是合并成一个文件,所以不能有同名容量;
       
       动态引入:<jsp:include page="includeActive.jsp"></jsp:include>
       动态引入特点:两个jsp文件都会被转译,引入方法是调用,不是合并文件;
       注意:因为是合调用,所以可以有同名变量
       
       引入的优点:提高代码的重用,便于维护升级
       
       转发页面:<jsp:forward page="MyJsp.jsp">
                            <jsp:param value="javse" name="aaa"/>
                     </jsp:forward>
       注意:jsp:forward标签里面只能写jsp:param,可以以在转发的页面通过request获得数据
       
       jsp的九个内置对象:
             内置对象:jsp在转译成Servlet时自动生成的对象,可以在写jsp直接使用
             注意:只能在jsp页面中使用,不能在全局代码块中使用,因为jsp九个内置对象声明在service方法中
             内容:
                    pageContext:页面的上下文对象,封装了其他内置对象,封存了当前jsp的运行信息
                           注意:每个jsp页面只能有一个pageContext对象,
                           作用域:当前jsp页面
                    request:封存当前请求数据;
                    response:响应对象,设置响应头,重定向;
                    session:封存用户不同请求的共享数据;
                    application:ServletContext对象,封存用户共享数据;
                    config:ServletConfig对象,用来读取web.xml中的私有配置数据;
                    out:响应对象 ,jsp内部使用,带有缓冲区,效率高于response对象;
                    page:this,代表当前jsp的对象
                    exception:异常对象,使用此对象时要在page使用属性isErrorPage="true;
                    
       jsp路径问题:
             <a href="/MyJsp.jsp">MyJsp.jsp</a>
             第一个/代表项目目录
             
--%>
       <% int number=(int)(Math.random()*10); %>
       <% if(number>5) {%>
       <p>big!!!<%=number %></p>
       <%}else{ %>
       <p>small!!!<%=number %></p>
       <%} %>
       <%!public void method(){
             System.out.println("这是全局代码块!!!");
       }%>
       <hr />
       <%@include file="include.jsp" %>
       <hr />
       <%--
             <jsp:include page="includeActive.jsp"></jsp:include>
             <jsp:forward page="MyJsp.jsp">
                    <jsp:param value="javse" name="aaa"/>
             </jsp:forward>
       --%>
       <a href="/MyJsp.jsp">MyJsp.jsp</a>
       
</body>
</html>

以上是关于jsp基础的主要内容,如果未能解决你的问题,请参考以下文章

JSP基础学习

JSP基础语法

jsp机制基础

Java遇见HTML——JSP篇之JSP基础语法

JSP基础

JSP基础使用