0001-01-01  0001-01-01    1185 字   3 分钟

JSP

1. 理解

 Java Server Page 一种动态页面技术本质上就是Servlet  
     运行原理将jsp文件  ----> .java  ----> .class  运行

2. JSP的使用策略

1. 可以当成纯粹的页面使用  html 使用语法一样(推荐)
2. 可以当成纯粹的Java代码使用  
    <% java代码 %>
    
3. 可以实现页面中嵌套Java代码
    
jsp和Servlet各司其职将业务处理和页面展示分离
    jsp只做页面数据展示
    Servlet处理业务

3. JSP的核心内容

① 三大指令

· page 指定页面的初始化配置信息(通常取默认值即可)
    contentType="text/html;charset=UTF-8"  内容的类型
    language="java" 支持语言
    import="java.util.ArrayList" 引入依赖包
    autoFlush="true" 刷新当前页面
    session="true"  是否可用session
    errorPage="02-error.jsp" 当前页面异常 指定跳转的错误页
    isELIgnored="false" 是否忽略EL表达式
    
· taglib 引入第三方标签库
    
    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    
· include 包含其他页面
    
    <%@include file="02-header.jsp"%>

② 六大动作

1. 转发
    <%--动作1完全转发--%>
    <%--<jsp:forward page="02-three.jsp"></jsp:forward>--%>
    <%--动作2不完全转发--%>
    <jsp:include page="02-three.jsp"></jsp:include>
      <%-- 动作3:转发携带参数 --%>
     <jsp:param name="xx" value="王二小"/>   	
2. 使用对象
    <%--动作4使用对象--%>
    <jsp:useBean id="p" class="com.ujiuye.bean.Person"></jsp:useBean>

    <%--动作5:设置对象属性--%>
    <jsp:setProperty name="p" property="name" value="王二小"></jsp:setProperty>

    <%--动作6:获取对象属性值--%>
    <jsp:getProperty name="p" property="name"/>  

③ 九大内置对象

内置对象 天生自带的对象    out            
页面输出对象      Exception      
异常对象    request 	 
请求对象    response       
响应对象    application    ServletContext    session		  
会话     config  	  
Servlet配置对象    Page   		  
this     pageContext	   
最小共享域对象  范围只在当前页面共享  可以实现操作任何共享域的数据

④ EL表达式

格式 	${}  
作用    获取共享域中的数据    
原理根据属性的get方法名取数据  和属性名没有关系    
    // map.get(map2);   ---->  map.map2    
    // xiFu.getName();  ---->  xiFu.name

⑤ JSTL标签库

理解    便于jsp中对数据展示的一些标签    
    使用   
    1. 下载导包 jstl.jar  standard.jar    
    2. 使用指令引入当前jsp页面中    	
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>    
    3. 常见标签 
    <%--1. 遍历集合标签--%>         
    <c:forEach items="集合" var="集合每一个元素变量">                      
    <%--2. 普通遍历--%>    	
    <c:forEach begin="起始值" end="结束值" step="步长" var="变量名">       	
    <%--3. 判断--%>    	
    <c:if test="判断条件">                     
    <%--4. 变量操作--%>        
    <%--变量的定义--%>        
    <c:set var="num" value="200"></c:set>        
    <%--获取变量值--%>        
    <c:out value="${num }" default="未定义"></c:out>        
    <%--删除变量--%>        
    <%--<c:remove var="num"></c:remove>--%>                        
    <%--5. 选择标签--%>            
    <c:choose>                
    <c:when test="${num > 100 }">                    
        VIP老白菜                
    </c:when>                
    <c:when test="${num > 50 }">                    
        VIP大白菜                
    </c:when>                
    <c:when test="${num > 20 }">                    
        VIP小白菜                
    </c:when>               
    <c:otherwise>                    
        VIP没白菜                
    </c:otherwise>           
    </c:choose>

登录注册

注册

① 注册页面 register.jsp  
② 编写RegistServlet处理 注册业务   注册成功跳转登录页
③ 编写登录页面 login.jsp 

登录

① login.jsp 
② 编写LoginServlet处理登录业务  登录成功跳转到首页的HomeServlet     
③ 编写 HomeServlet 
④ 编写 home.jsp

avatar
青山
悟已往之不谏 知来者之可追
一言
今日诗词
站点信息
本站访客数 :
本站总访问量 :