本篇內(nèi)容介紹了“jsp中嵌入java代碼的方法”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
在洮北等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供做網(wǎng)站、成都做網(wǎng)站 網(wǎng)站設(shè)計制作按需求定制開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),全網(wǎng)營銷推廣,外貿(mào)營銷網(wǎng)站建設(shè),洮北網(wǎng)站建設(shè)費用合理。
jsp的出現(xiàn)是為了解決Serlvet中拼接大量的html代碼的問題,同時在jsp技術(shù)中可以直接書寫html,js,css和java代碼。
jsp中可以寫java代碼,但是需要使用相應的標簽來封裝java代碼,有三種方式:
<%! %>: jsp腳本聲明,可以書寫成員變量,方法以及內(nèi)部類
<%! //聲明變量 int a = 1; //方法 public void show() { System.out.println(a); } //成員內(nèi)部類 class Inner{} %>
<%= %>: jsp腳本表達式,用于直接輸出數(shù)據(jù)
<!-- 需要注意的是jsp腳本表達式,在書寫表達式的時候,后面不能添加分號 --> <%="aaa"+123+"bvd"%> <!-- 腳本表達式可以用于輸入html源碼信息 --> <%="<font color='red'>hello</font>"%>
<% %>: jsp的腳本片段,可以將java代碼和html代碼進項嵌套混合書寫
<% for (int i = 0; i < 10; i++) { if (i % 2 == 0) { %> <!-- 這里是嵌套的html代碼 --> <font color='red'> <%=i%> </font> <% } else { %> <!-- 這里是嵌套的html代碼 --> <font color='red'> <%=i%> </font> <% } } %>
EL全名為Expression Language,他的功能主要是在jsp頁面上,從不同范圍內(nèi)取出數(shù)據(jù),這里所說的范圍是ServletContext范圍和Request。servlet中,servletContext代表當前這個web項目,每一個項目有一個唯一的ServletContext和其對應,因此放在servletContxt中的數(shù)據(jù),在jsp頁面可以通過el表達式取出,同時每一個請求,都表示一個request對象,所以在request對象中存放的數(shù)據(jù),在jsp頁面也是可以使用el表達式取出。形式為**${key}**
cookie本身依然是服務器內(nèi)部的一個對象,只是這個對象最終會在響應中給客戶端對象,客戶端(一般是瀏覽器)會識別cookie信息,同時在后續(xù)的訪問過程中瀏覽器會將這個cookie攜帶在請求頭中一起發(fā)送給服務器。
瀏覽器攜帶cookie的特性,是由w3c的http協(xié)議規(guī)定的,并且會在請求頭中攜帶,如果響應的數(shù)據(jù)中含有cookie,cookie也是在響應的頭中(注意不是在響應體中)。 從上面的客戶端與服務端的連接可以知道cookie屬于會話技術(shù)。
用戶在打開瀏覽器訪問服務器,在一系列的訪問過程中把用戶的這些操作稱為用戶和服務器之間的對話(客戶端和服務端的會話),在交互過程中,用戶的一系列操作,會產(chǎn)生一些數(shù)據(jù)需要保存,此時就需要使用到cookie或者session(下一篇介紹)技術(shù)。
package top.cookies; import javax.servlet.http.Cookie; import java.io.IOException; public class cookieServlet extends javax.servlet.http.HttpServlet { protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException { Cookie cookie = new Cookie("name", "testCookie"); // response.addCookie(cookie); response.getWriter().write("helloworld"); } }
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <servlet> <servlet-name>Servlet</servlet-name> <servlet-class>top.cookies.cookieServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Servlet</servlet-name> <url-pattern>/cookie</url-pattern> </servlet-mapping> </web-app>
這里首先是將response.addCookie(cookie);這一句代碼給注釋掉了,也就是返回的數(shù)據(jù)中是沒有cookie的,此時結(jié)果如下:
現(xiàn)在將注釋的那一句代碼給放開,此時請求結(jié)果如下:
可以看到response中已經(jīng)有了cookie的信息,但是請求頭中是沒有cookie的信息的。
在第一次請求時由于在響應中設(shè)置了cookie,所以在第二次請求的時候請求頭中應該攜帶cookie信息的,此時結(jié)果如下:
可以看到在請求頭中是包含cookie信息的。
設(shè)置cookie是服務端設(shè)置后給到客戶端,那么獲取cookie實際上就是從請求頭中獲取cookie,也就是從httpServletRequest對象中獲取cookie,由于用戶可以攜帶有多個cookie,因此可以使用getCookies()方法獲取cookie數(shù)組。
Cookie[] cookies = request.getCookies(); for (Cookie cookie: cookies ) { System.out.println(cookie.getName() + "--" + cookie.getValue()); }
cookie主要是分為兩類:
臨時會話級別的cookie
服務器給客戶端發(fā)送的cookie,如果沒有指定cookie在客戶端的保存時間,此cookie只會在瀏覽器的運行期間存在,當瀏覽器關(guān)閉后,客戶端中的cookie會消失。
持久化的cookie
在服務器給客戶端發(fā)送cookie的時候,可以指定cookie在客戶端存活的時間??梢酝ㄟ^setMaxAge(int)方法來實現(xiàn)。
該方法的單位是秒
如果為負數(shù)表示不存儲該cookie
如果是0表示刪除該cookie
在設(shè)置cookie的時候,每一個cookie對象都需要和當面的訪問路徑一致,如果設(shè)置的cookie和路徑不一致,在服務器端是無法獲取到cookie信息的,設(shè)置路徑可以使用cookie對象中的setPath(String)方法來完成,路徑一般會設(shè)置項目根目錄。這樣設(shè)置只要訪問當前項目中的內(nèi)容,請求頭就會攜帶對應的信息,如歐冠在設(shè)置cookie的時候,沒有設(shè)置響應的path,此時會使用默認的路徑。
設(shè)置每一個cookie自己的訪問路徑的作用是在訪問每一個網(wǎng)站時,來判斷是否需要攜帶當前的cookie數(shù)據(jù),因為一個網(wǎng)站的后臺可能會有多個不同功能的cookie對象存在,但是這些對象不是每一次請求都需要帶給服務器,所以也就可以給不同的cookie對象在生成的時候設(shè)置不同的路徑,這樣當客戶端訪問服務器的時候就可以根據(jù)不同的訪問路徑來攜帶不同的cookie。
“jsp中嵌入java代碼的方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
本文名稱:jsp中嵌入java代碼的方法
文章地址:http://sd-ha.com/article0/jsjeoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、響應式網(wǎng)站、網(wǎng)站設(shè)計、全網(wǎng)營銷推廣、搜索引擎優(yōu)化、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)