Java教程

JavaWeb课堂笔记

本文主要是介绍JavaWeb课堂笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Cookie使用?

  1. 创建cookie对象,(键值对形式,有多个数据就创建多个Cookie对象):Cookie

cookie=new Cookie(“uname”,“zhangsan”);

  1. 把cookie对象添加到response对象中:
    response.addCookie(cookie);
  2. 获取cookie数据:
Cookie[] cookies=request.getCookies();
 if(cookies!=null){
	for(Cookie c:cookies){
		String name=c.getName();
		String value=c.getValue();
		if("uname".equals(name)||"pwd".equals(name))
		out.print(name+":"+value+"<br>");
	}
 }
  1. cookie的输出
    利用cookie提供的

  2. cookie进阶

    • 设置有效期:cookie.setMaxAge(10);

    • 实现五分钟内面输入登录

其它内置对象

  1. config对象,用于获取配置信息。(针对Servlet类)
  2. exception异常对象,只能在错误页面可以使用

EL表达式的概念及用法

利用EL表达式卡哇伊获取参数的值、获得隐含对象作用于中属性的值,从而可以替代JSP页面中的复杂代码

  • 基本格式:${表达式}
  1. 计算基本的表达式:${a+b}

  2. 访问数组:

${names[0]},${names[1]}
  1. 访问对象:
${user.username},${user.pwd}
${user["username"]},${user["pwd"]}

中括号应用范围更广

  1. 访问集合
ArrayList list=new ArrayList();
list.add(new userInfo("lisi","123"));
application.setAttribute("list1",list);

//第一种形式
${list1.get(0).username},${list1.get(0).pwd}
//第二种形式
${list1[1].username},${list1[1].pwd}
  1. 访问map集合
HashMap map=new HashMap();
map.put("uname","zhangsan");
map.put("pwd","123");
map.put("adress.aa","洛阳");
map.put("user",user);
pageContext.setAttribute("map",map);

//注意,有特殊符号时只能用中括号形式访问
${map.uname},${map.pwd},${map["adress.aa"]}
  1. EL隐藏对象(11个)

在这里插入图片描述

  • 参数访问对象

    • param

      ${param.username}
      
    • paramValues

      ${paramValues.hobby[0]},${paramValues.hobby[1]}
      
  • 作用域访问对象(四个)

    范围:pageContext>request>session>application

    ${pageSccope.a1+pageScope.b1}
    
  • 上下文访问对象

    • pageContext
    ${pageCotext.request.remoteHost}
    
  • 头部请求对象:

    ${header["host"]}
    ${headerValues["Accept"][0]}
    
    1. 算术运算符:+,-,*,/ div,% mod

    2. 比较运算符:> gt, >= ge,< lt,<= le,== eq,!= ne

    3. 逻辑运算符:&& and,| or,| not

    4. 条件运算符:? :

    5. 判空运算符: empty

      ${name1==null || name1==""}
      

JSTL概述

  • 定义:用于解决常见问题的自定义标签库

  • 目的:简化前台页面代码

  • 使用方式:

    1. 添加JSTL、standard的jar包

    2. 添加jsp页面并加入taglib指令

      <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
      
  • 标签:

    • 表达式操作标签

      • out标签

        [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u6k8OXWk-1621251176062)(G:\实验\大二下\JavaWeb\考试\images\b)]

        [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Fb8JmRzh-1621251176063)(G:\实验\大二下\JavaWeb\考试\images\c)]

        <c:out value="hello"></c:out>
        <c:out value="" default="默认值"><c:out>
        <c:out value="" default="默认值"><c:out>
        
      • set标签

        在这里插入图片描述

        <c:set var="name" value="zhangsan"><c:set>
        <jsp:useBean id="user" class="com.haust.entity.UserInfo"></jsp:useBean>
        
        //给对象属性赋值
        <c:set target="${user}" property="username" value="lisi"></c:set>
        
        //键值对集合
        <c:set target="${map}" property="uname" value="lisi"></c:set>
        
      • remove标签

        [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0wZO5nr4-1621251176065)(G:\实验\大二下\JavaWeb\考试\images\remove属性)]

        <c:remove var="name"/>
        
    • 条件标签

      • if标签

        [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EgPj6m2h-1621251176066)(G:\实验\大二下\JavaWeb\考试\images\if标签属性)]

        <c:if test="${10>5}">十大于五</c:if>
        
      • choose、when、otherwise标签

      在这里插入图片描述

      <c:choose>
          <c:when test="${age<18}">
              年龄小于18不能打疫苗
      	</c:when>
          <c:when test="${age>=18 and age<60}">
              可以打疫苗
      	</c:when>
          <c:otherwise test="${age>=18 and age<60}">
              可以打疫苗
      	</c:otherwise>
      </c:choose>
      
    • 迭代标签

      • forEach标签

      在这里插入图片描述

      • forEach属性

        在这里插入图片描述

      //forEach遍历数组
      <c:forEach items="${nums}" var="item" varStatus="status"></c:forEach>
          ${item}
      <c:if test="${status.count%3==0}"><br></c:if>
      //forEach遍历map
      <c:forEach items="${map}" var="item" varStatus="status">
      <c:choose>
          <c:when test="${status.last}">
              ${item.value}:${item.value.username}-${item.value.pwd}<br>
          </c:when>
      	<c:otherwise>
          	${item.key}:${item.value}<br>
          </c:otherwise>
      </c:choose>
      </c:forEach>
      
      1-100奇数和
      <c:set var="sum" value="0"></:set>
      <c:forEach begim="1" end="100" step="2" var="i">
      	<c:set var="sum" value="${sum+i}"></c:set>
      </c:forEach>
      ${sum}
      
      • forTokens标签

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VFUAVvwJ-1621251176069)(G:\实验\大二下\JavaWeb\考试\images\forToken)]

      //前台输入,通过jstl实现后台数据输出
      1.forTokens
      <c:forTokens items="${param.stu}" delims="," var="item">
          ${item}<br>
      </c:forTokens>
      
  • URL 标签

    • import标签

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uhsf847X-1621251176070)(G:\实验\大二下\JavaWeb\考试\images\import)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3l9i4BH4-1621251176070)(G:\实验\大二下\JavaWeb\考试\images\import属性)]

    <c:import url="input.jsp" ></c:import>
    
    //将文件里的内容保存在变量var中
    <c:import url="input.jsp" var="url"></c:import> 
    ${url}
    
    • url标签

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mXWE5UN6-1621251176071)(G:\实验\大二下\JavaWeb\考试\images\url标签)]

      //显示网址
      <c:url value="input.jsp" ></c:url>
      
      //将网址保存后展示
      <c:url value="input.jsp" var="url1"></c:url>
      ${url}
      
      //添加子标签
      <c:url value="input.jsp" >
          <c:param name="uname" value="lisi"></c:param>
          <c:param name="pwd" value="123"></c:param>
      </c:url>
      
    • redirect标签

      <c:redirect url="doinput.jsp">
          <c:param name="stu" value="488,366,3"></c:param>
      </c:redirect>
      
  • 国际化格式标签

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IA8nOWVb-1621251176072)(G:\实验\大二下\JavaWeb\考试\images\国际格式化)]

    • requestEncoding
    <fmt:requetEncoding value="utf-8"></fmt:requetEncoding>
    
    • formatDate

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wegoiQHG-1621251176073)(G:\实验\大二下\JavaWeb\考试\images\formatDate)]

    <jsp:useBean if="date" class="java.util.Date"></jsp:useBean>
    <fmt:formatDate value="${date}" pattern="yyyy-MM-dd hh:mm:ss E"></fmt:formatDate>
    

MVC模式和servlet技术

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6pERvOyt-1621251176074)(G:\实验\大二下\JavaWeb\考试\images\三层架构对应的mvc模式)]

e=“utf-8”></fmt:requetEncoding>

- `formatDate`

[外链图片转存中...(img-wegoiQHG-1621251176073)]

```xml
<jsp:useBean if="date" class="java.util.Date"></jsp:useBean>
<fmt:formatDate value="${date}" pattern="yyyy-MM-dd hh:mm:ss E"></fmt:formatDate>
这篇关于JavaWeb课堂笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!