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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JSP与Servlet 程序设计教程

發布時間:2023/12/9 javascript 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JSP与Servlet 程序设计教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概述

動態網頁技術與JSP優勢


JSP中調用java代碼

JSP三種基本動態技術元素:表達式、聲明、腳本

表達式

目的是將一些動態的信息顯示到頁面的最終輸出結果中
語法: <%= 變量或表達式 %>

聲明

用于定義變量、方法、類、靜態初始塊(通常只在聲明部分定義變量及方法)
語法:<% ! 變量定義或方法定義 %>

腳本

JSP動態生成網頁的核心部分,可以利用java語言的三大結構生成不同的頁面元素
語法:<% 腳本內容 %>

注釋

語法:<% – 注釋信息 – %>

JSP指令

page指令

可以控制類的導入、內容類型等設置,通常放置在JSP的開始位置
語法:<%@ page 屬性名1=“屬性值1” […屬性名n=“屬性值n”] %>

  • import屬性 <%@ page import=“類的相對路徑” %>
  • contentType與pageEncoding 標明發送到客戶程序的文檔MIME類型 <%@ page contentType=“text/html;charset=UTF-8” %> (兩者配合使用) 單獨設置字符集的話 <%@ page pageEncoding =“字符集” %>
  • language 指定頁面使用的腳本語言 默認是java
  • errorPage 本頁面加載錯誤時跳轉的哪一個界面
  • isErrorPage 表明為錯誤顯示界面
  • isELIgnored 是否解析JSP語言表達式
  • 其他:session、buffer等

include指令

將屬性file所指向的文件包含到當前JSP頁面中(一般用于相同的頭或者頁腳顯示,減少代碼量)
語法:<%@ include=“被包含的文件名(jsp頁面)” %>

JSP動作

JSP動作通常是在向JSP頁面發送請求時才會執行的操作,也就是說它是在頁面請求期間執行的,這也是JSP動作與JSP行為的本質區別

jsp:include動作

jsp:include動作與include指令類似 不同是他可以傳遞參數
語法:< jsp:include page=“被包含的文件路徑(絕對或相對)”/ > 或
< jsp:include page=“被包含的文件路徑(絕對或相對)”>

< jsp:param name=“參數名” value=“參數值” / >

< / jsp:include >
不同:

jsp:forward動作

作用是轉發請求,如果用戶請求中包含提交的數據,數據也將一塊被轉發(只能轉發到站內文件)
語法:語法:< jsp:forward page=“轉發目標頁面”/ > 或
< jsp:forward page=“轉發目標頁面”>

< jsp:param name=“參數名” value=“參數值” / >

< / jsp:forward >

jsp:plugin動作

在網頁中嵌入applet(基本上已經棄用)或javaBean
語法:< jsp:plugin code=“插件實現最頂級類文件” codebase=“插件類根目錄”
type=“插件類型” width=“寬度” height=“高度” />
< jsp:fallback>替換文字< / jsp:fallback>
< / jsp:plugin>

JSP隱含對象

request

一個請求對象,它包含了用戶發起請求所包含的所有應用數據。
常用方法:

  • 取得/設置指定參數——request.getParameter()/setAttribute()
  • 取得指定數組參數——getParameterValues()
  • 取得URL參數字符串——getQueryString()
  • 取得指定名稱——getParameterNames()
  • 請求參數中文處理——request.setCharacterEncoding(“UTF-8”)
  • 取得session——request.getSession();
  • 取得請求頭部信息
  • 取得客戶和主機信息

response

代表請求的相應對象。
常用方法:

  • 設置Content-Type——response.setContentType(“text/html;charset=utf-8”);
  • 發送錯誤相應至客戶端
  • 重定向——response.sendRedirect();
    當使用Redirect跳轉Servlet時,跳轉實在客戶端實現的,也就是說客戶端瀏覽器實際上請求了2次服務器,第1次獲取了重定向狀態碼與重定向的網址,第2次訪問真實地址。

session

保存當前會話信息
常用方法:

  • 取得/設置指定參數——session.getAttribute()/setAttribute()

out

out對象向相應中輸出指定信息

  • 輸出信息——out.print()

java Bean在JSP中應用

語法:頭部添加標簽
< jsp:useBean id=“引用名稱” scope=“session|request|page|application”
class=“完整類名”
|beanNane=“Bean名稱”|type=“對象類型” />
獲取和設置屬性
< jsp:setProperty name=“Java Bean實例名(上面的id)” property=“屬性名” value=“待設值”|param=“參數名稱” />
< jsp:getProperty name=“Java Bean實例名(上面的id)” property=“屬性名” />

Servlet基礎

servlet功用

  • 讀取客戶端發送的顯示數據或者對客戶端發送的數據進行預處理
  • 讀取客戶端發送的隱含數據
  • 生成結果
  • 向客戶發送顯示數據
  • 發送隱含的相應數據

servlet生成html

response.setContentType("text/html;charset=utf-8"); PrintWriter writer = response.getWriter(); writer.print( JSONObject.toJSONString( result ) );//打印一行數據到當前請求界面 writer.flush(); writer.close();

Servlet處理客戶請求

讀取客戶請求參數

與JSP操作request一致
可以操作session

HttpSession session = request.getSession();session.setAttribute("user", user);session.getAttribute("user");

跳轉:

(1) 轉發:

//request可以添加參數 request.getRequestDispatcher("路徑").forward(request,response);

(2)重定向

response.sendRedirect("路徑");

(3)直接輸出返回到ajax中(注意使用ajax請求的才可以,然后由ajax進行界面跳轉)

response.setContentType("text/html;charset=utf-8"); PrintWriter writer = response.getWriter(); writer.print( JSONObject.toJSONString( result ) );//返回json格式字符串 writer.flush(); writer.close();

模型-視圖-控制框架



JSP表達式語言 EL

JSP內置了EL表達式
能夠以更簡潔的方式顯示結果,表達式語言可以訪問請求或者其他作用域中的對象
功能:

  • 訪問存儲在不同作用域的中的對象
  • 方便的訪問java Bean的屬性
  • 簡單的訪問集合元素
  • 可以方便訪問請求等隱式數據
  • 支持簡單的運算符操作
  • 無需類型轉換
  • 以空值取代異常
    語法:
    ${ 表達式 }

訪問變量

訪問java Bean的屬性

首先在servlet中 request.setAttribute("user",user); 在jsp中 ${ user.userName }/${ user[userName] }

訪問不同作用域中的屬性

當變量名一樣時 request>session>application

訪問集合中的變量

${ userList[0].userName }/${ userList[0][userName] }

JSTL

OGNL是Object Graphic Navigation Language(對象圖導航語言)


然后在jsp中引入

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

EL與JSTL配合使用案例:

<tbody><c:forEach items="${reports}" var="report"><tr><td>${report.id}</td><td>${report.createAt}</td><td>${report.title}</td><td>${report.userId}</td><td>${report.type}</td><td>${report.states}</td><td>${report.summary}</td><%--<td><%= report.getUrl()%></td>--%><td><a href="${report.url}">下載</a></td></tr></c:forEach> </tbody>

end

總結

以上是生活随笔為你收集整理的JSP与Servlet 程序设计教程的全部內容,希望文章能夠幫你解決所遇到的問題。

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