zoukankan      html  css  js  c++  java
  • Servlet的认识

    第七章Servlet基础

    1、Servlet 是一个 Java程序,是在服务器上运行以处理客户端请求并做出响应的程序

    2、Servlet体系结构:

    ①接口:

    Servlet概述

    定义了所有Servlet需要实现的方法

    Servlet接口的常用方法:

    ServeltConfig概述

    Servlet初始化过程中获取配置信息一个Servlet只有一个ServletConfig对象

    ServletConfig的常用方法

    ②抽象类:

    1GenericServlet概述

    提供了ServletServletConfig接口的默认实现方法

    GenericServlet的常用方法

    2HttpServlet概述

    继承于GenericServlet

    处理HTTP协议的请求和响应

    HttpServlet的常用方法

    Servlet的生命周期:

    实例化 Servlet 容器创建 Servlet 的实例

    初始化 该容器调用 init() 方法

    请求处理 如果请求 Servlet,则容器调用 service() 方法

    服务终止 销毁实例之前调用 destroy() 方法

    3Servlet的应用:

    创建Servlet

    实现doPost()doGet()方法

    部署Servlet

    编辑部署描述文件web.xml(添加<servlet><servlet-mapping>

    启动Tomcat,访问Servle

    总结:

    1Servlet的应用:

    创建Servlet:实现doPost()doGet()方法

    部署Servlet:编辑部署描述文件web.xml

    启动Tomcat,访问Servlet

    2)Servlet初始化参数配置

    <init-param>

                <param-name>initParam</param-name>

                <param-value>Hello Servlet</param-value>

    </init-param>

    3)Servle上下文参数配置

    <web-app>

        <context-param>

            <param-name>contextParam</param-name>

            <param-value>Hello Servlet</param-value>

        </context-param>

        <!--省略其他配置-->

    </web-app>

    getServletContext().getInitParameter("contextParam")

     

    1、什么是EL

    Expression Language(表达式语言)

    2EL的功能

    替代JSP页面中的复杂代码

    3EL的特点

    自动转换类型

    EL得到某个数据时可以自动转换类型

    使用简单

    4、EL表达式:

    ${ EL exprission }

    使用变量名获取值

    获取对象的属性值

    获取集合

    5、使用变量名获取值

    ${变量名}

    Eg<%  request.setAttribute("username","LiYang"); %>

    姓名: ${requstScope.username}

    6、变量属性范围名称

    7、获取对象的属性值

    点操作符

    ${user.name}

    [ ]操作符

    ${user["name"]}

    Eg<%

        User user = (User )request.getAttribute("user");

        user.getName();

    %>

    8、获取集合-List

    <%

        List names = new ArrayList();

        names.add(0, "LiYang");

        names.add(1,"WangHua");

        request.setAttribute("names",names);

    %>

    姓名:${names[0]}<br/>

    姓名:${names[1]}<br/>

    9、获取集合-Map

    <%

        Map names = new HashMap();

        names.put("one","LiYang");

        names.put("two","WangHua");

        request.setAttribute("names",names);

    %>

    姓名:${names.one}<br/>

    姓名:${names["two"] }<br/>

    10${  EL exprission }

    关系操作符

    逻辑操作符

    Empty操作符

    变量 a不存在,则${empty a}返回的结果为true

    ${not empty a}${!empty a}返回的结果为false

    11、EL隐式对象:作用域访问对象,参数访问对象,JSP隐式对象

    作用域访问对象:pageScoperequestScopesessionScopeapplicationScope

    参数访问对象:paramparamValues

    JSP隐式对象:pageContext

    12、EL隐式对象介绍:

    13、什么是JSTL

    JSP标准标签库(JavaServerPages Standard Tag Library

    14、JSTL 的优点:

    提供一组标准标签

    可用于编写各种动态 JSP 页面

    JSTL通常会与EL表达式合作实现JSP页面的编码

    15、JSTL的环境内搭:

    使用JSTL的步骤:

    在工程中引用JSTL的两个jar包和标签库描述符文件

    JSP页面添加taglib指令

    使用JSTL标签

    <%@tagliburi="http://java.sun.com/jsp/jstl/core"prefix="c%>

    16、JSTL标准标签库内的标签:

    通用标签:set  out  remove

    条件标签:  if   choose

    迭代标签:  forEach

    17

    set:设置指定范围内的变量值

    //value值存储到范围为scope的变量variable

    <c:set var="index" value=" 8 " scope="  request  "/>

    //value值设置到对象的属性中

    <c:set value="value" target="target" property="property" />

    <%

        User user = new User();

        request.setAttribute("user", user);

    %>

    <c:set target="${user}" property="name" value="defaultName " />

    out:计算表达式并将结果输出显示

    不指定默认值:

    <c:out value="value" />

    指定默认值

    <c:out value="value" default="default" />

    <%

        User user = new User();

        request.setAttribute("user", user);

    %>

    <c:set target="${user}" property="name" value="defaultName " />

    <c:out value="${user.name}" default="noUserName" />

    通用标签的使用:

    //引入使用核心标签的指令

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

    <body>

    //set 标签用于给变量设置值和作用范围

    //scope= "page|request|session|application"

    <c:set var= "example" value="${100+1}" scope="session"  />

    //out 标签在页面上显示信息或变量值

    <c:out value="${example}"/>

    //remove 标签用于删除作用域内的变量

    <c:remove var= "example" scope="session"/>

    </body>

    ③条件标签的应用

    <body>

    <c:set var="isLogin" value="${empty sessionScope.user}"/>

    <c:if test="${isLogin}">

    …登录表单

    </c:if>

    <c:if test="${! isLogin}">

    已经登录!

    </c:if>

    </body>

    choose:实现Java语言中if-else if-else语句的功能

    <c:choose var="varName" scope="scope">

    <c:when test="condition">

    主体内容

      </c:when>

    <c:otherwise>

    主体内容

    </c:otherwise>

    </c:choose >

    forEach:实现对集合中对象的遍历

    <%

    List products = GoodsDao.getAllProducts();

    request.setAttribute("products", products);

    %>

    <!-- 循环输出商品信息 -->//循环遍历集合

    <c:forEach var="product" items="${requestScope.products}" varStatus="status">

    <!-- 如果是偶数行,为该行换背景颜色 -->//判断奇偶

    <tr <c:if test="${status.index % 2 == 1 }">style=""</c:if>>

    //输出商品信息

            <td>${product.name }</td>

            <td>${product.area }</td>

            <td>${product.price }</td>

        </tr>

    </c:forEach>

    ⑥通过迭代标签遍历Map

    <%

        Map<String,String> map=new HashMap<String,String>();

        map.put("tom", "美国");

        map.put("lily", "英国");

        map.put("jack","中国");

        request.setAttribute("map", map);

    %>

    <c:forEach var="entry" items="${map}">

         ${entry.key}

         ${entry.value}<p>

    </c:forEach>

    forEach:指定迭代的次数

    <c:forEach  begin="start"   end="end"  step="count">

    …循环体代码…

    </c:forEach>

    <c:forEach  begin="1"   end="5"  step= "2">

    <c:out value="*"></c:out>

    </c:forEach>

    总结:

    EL表达式的语法有两个要素:$ {}

    EL表达式可以使用“.”或者“[]”操作符在相应的作用域中取得某个属性的值

    JSTL核心标签库中常用的标签有如下三类。

    通用标签;<c:set><c:out><c:remove>

    条件标签;<c:if><c:choose><c:when><c:otherwise>

    迭代标签:<c:forEach>

    EL表达式与JSTL标签结合使用,可以减少JSP中嵌入的Java代码,有利于程序的维护和扩展

  • 相关阅读:
    java环境基础步骤 svn
    java环境基础步骤 jdk tomcat eclipse
    @ModelAttribute 注解及 POJO入参过程
    cookie小记
    jquery指index
    Js文件中文乱码
    Redis基础(转)
    eclipse导出jar包的方法
    简单谈谈如何利用h5实现音频的播放
    yii2 GridView 下拉搜索实现案例教程
  • 原文地址:https://www.cnblogs.com/qwe234/p/6636491.html
Copyright © 2011-2022 走看看