日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Servlet的认识

發布時間:2025/3/15 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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代碼,有利于程序的維護和擴展

?

轉載于:https://www.cnblogs.com/qwe234/p/6636491.html

總結

以上是生活随笔為你收集整理的Servlet的认识的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。