真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

jsp中嵌入java代碼的方法

本篇內(nèi)容介紹了“jsp中嵌入java代碼的方法”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

在洮北等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專(zhuān)注、極致的服務(wù)理念,為客戶(hù)提供做網(wǎng)站、成都做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需求定制開(kāi)發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),全網(wǎng)營(yíng)銷(xiāo)推廣,外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè),洮北網(wǎng)站建設(shè)費(fèi)用合理。

簡(jiǎn)單介紹jsp

jsp的出現(xiàn)是為了解決Serlvet中拼接大量的html代碼的問(wèn)題,同時(shí)在jsp技術(shù)中可以直接書(shū)寫(xiě)html,js,css和java代碼。

jsp中嵌入java代碼

jsp中可以寫(xiě)java代碼,但是需要使用相應(yīng)的標(biāo)簽來(lái)封裝java代碼,有三種方式:

  • <%! %>: jsp腳本聲明,可以書(shū)寫(xiě)成員變量,方法以及內(nèi)部類(lèi)

    	<%!
    		//聲明變量
    		int a = 1;
    		//方法
    		public void show() {
    			System.out.println(a);
    		}
    		//成員內(nèi)部類(lèi)
    		class Inner{}
    	%>

  • <%= %>: jsp腳本表達(dá)式,用于直接輸出數(shù)據(jù)

    		
    		<%="aaa"+123+"bvd"%>
    		
    		<%="hello"%>

  • <% %>: jsp的腳本片段,可以將java代碼和html代碼進(jìn)項(xiàng)嵌套混合書(shū)寫(xiě)

    	<%
    		for (int i = 0; i < 10; i++) {
    			if (i % 2 == 0) {
    			%>
    				
    				
    			<%=i%>
    				
    			<%
    			} else {
    				%>
    				
    				
    					<%=i%>
    				
    			<%
    			}
    		}
    	%>

EL表達(dá)式

EL全名為Expression Language,他的功能主要是在jsp頁(yè)面上,從不同范圍內(nèi)取出數(shù)據(jù),這里所說(shuō)的范圍是ServletContext范圍和Request。servlet中,servletContext代表當(dāng)前這個(gè)web項(xiàng)目,每一個(gè)項(xiàng)目有一個(gè)唯一的ServletContext和其對(duì)應(yīng),因此放在servletContxt中的數(shù)據(jù),在jsp頁(yè)面可以通過(guò)el表達(dá)式取出,同時(shí)每一個(gè)請(qǐng)求,都表示一個(gè)request對(duì)象,所以在request對(duì)象中存放的數(shù)據(jù),在jsp頁(yè)面也是可以使用el表達(dá)式取出。形式為**${key}**

cookie

cookie簡(jiǎn)介

  • cookie本身依然是服務(wù)器內(nèi)部的一個(gè)對(duì)象,只是這個(gè)對(duì)象最終會(huì)在響應(yīng)中給客戶(hù)端對(duì)象,客戶(hù)端(一般是瀏覽器)會(huì)識(shí)別cookie信息,同時(shí)在后續(xù)的訪(fǎng)問(wèn)過(guò)程中瀏覽器會(huì)將這個(gè)cookie攜帶在請(qǐng)求頭中一起發(fā)送給服務(wù)器。

  • 瀏覽器攜帶cookie的特性,是由w3c的http協(xié)議規(guī)定的,并且會(huì)在請(qǐng)求頭中攜帶,如果響應(yīng)的數(shù)據(jù)中含有cookie,cookie也是在響應(yīng)的頭中(注意不是在響應(yīng)體中)。 jsp中嵌入java代碼的方法 從上面的客戶(hù)端與服務(wù)端的連接可以知道cookie屬于會(huì)話(huà)技術(shù)。

什么是會(huì)話(huà)

用戶(hù)在打開(kāi)瀏覽器訪(fǎng)問(wèn)服務(wù)器,在一系列的訪(fǎng)問(wèn)過(guò)程中把用戶(hù)的這些操作稱(chēng)為用戶(hù)和服務(wù)器之間的對(duì)話(huà)(客戶(hù)端和服務(wù)端的會(huì)話(huà)),在交互過(guò)程中,用戶(hù)的一系列操作,會(huì)產(chǎn)生一些數(shù)據(jù)需要保存,此時(shí)就需要使用到cookie或者session(下一篇介紹)技術(shù)。

小案例之服務(wù)端設(shè)置cookie返回給客戶(hù)端

servlet

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配置



    
        Servlet
        top.cookies.cookieServlet
    
    
        Servlet
        /cookie
    

第一次請(qǐng)求結(jié)果(返回時(shí)不設(shè)置cookie)

這里首先是將response.addCookie(cookie);這一句代碼給注釋掉了,也就是返回的數(shù)據(jù)中是沒(méi)有cookie的,此時(shí)結(jié)果如下: jsp中嵌入java代碼的方法

第一次請(qǐng)求(返回時(shí)設(shè)置cookie)

現(xiàn)在將注釋的那一句代碼給放開(kāi),此時(shí)請(qǐng)求結(jié)果如下: jsp中嵌入java代碼的方法

可以看到response中已經(jīng)有了cookie的信息,但是請(qǐng)求頭中是沒(méi)有cookie的信息的。

第二次請(qǐng)求

在第一次請(qǐng)求時(shí)由于在響應(yīng)中設(shè)置了cookie,所以在第二次請(qǐng)求的時(shí)候請(qǐng)求頭中應(yīng)該攜帶cookie信息的,此時(shí)結(jié)果如下: jsp中嵌入java代碼的方法

可以看到在請(qǐng)求頭中是包含cookie信息的。

獲取cookie

設(shè)置cookie是服務(wù)端設(shè)置后給到客戶(hù)端,那么獲取cookie實(shí)際上就是從請(qǐng)求頭中獲取cookie,也就是從httpServletRequest對(duì)象中獲取cookie,由于用戶(hù)可以攜帶有多個(gè)cookie,因此可以使用getCookies()方法獲取cookie數(shù)組。

Cookie[] cookies = request.getCookies();
for (Cookie cookie: cookies ) {
    System.out.println(cookie.getName() + "--" + cookie.getValue());
}

cookie分類(lèi)

cookie主要是分為兩類(lèi):

  • 臨時(shí)會(huì)話(huà)級(jí)別的cookie

    服務(wù)器給客戶(hù)端發(fā)送的cookie,如果沒(méi)有指定cookie在客戶(hù)端的保存時(shí)間,此cookie只會(huì)在瀏覽器的運(yùn)行期間存在,當(dāng)瀏覽器關(guān)閉后,客戶(hù)端中的cookie會(huì)消失。

  • 持久化的cookie

    在服務(wù)器給客戶(hù)端發(fā)送cookie的時(shí)候,可以指定cookie在客戶(hù)端存活的時(shí)間??梢酝ㄟ^(guò)setMaxAge(int)方法來(lái)實(shí)現(xiàn)。

    • 該方法的單位是秒

    • 如果為負(fù)數(shù)表示不存儲(chǔ)該cookie

    • 如果是0表示刪除該cookie

給cookie設(shè)置路徑

在設(shè)置cookie的時(shí)候,每一個(gè)cookie對(duì)象都需要和當(dāng)面的訪(fǎng)問(wèn)路徑一致,如果設(shè)置的cookie和路徑不一致,在服務(wù)器端是無(wú)法獲取到cookie信息的,設(shè)置路徑可以使用cookie對(duì)象中的setPath(String)方法來(lái)完成,路徑一般會(huì)設(shè)置項(xiàng)目根目錄。這樣設(shè)置只要訪(fǎng)問(wèn)當(dāng)前項(xiàng)目中的內(nèi)容,請(qǐng)求頭就會(huì)攜帶對(duì)應(yīng)的信息,如歐冠在設(shè)置cookie的時(shí)候,沒(méi)有設(shè)置響應(yīng)的path,此時(shí)會(huì)使用默認(rèn)的路徑。

設(shè)置訪(fǎng)問(wèn)路徑的作用

設(shè)置每一個(gè)cookie自己的訪(fǎng)問(wèn)路徑的作用是在訪(fǎng)問(wèn)每一個(gè)網(wǎng)站時(shí),來(lái)判斷是否需要攜帶當(dāng)前的cookie數(shù)據(jù),因?yàn)橐粋€(gè)網(wǎng)站的后臺(tái)可能會(huì)有多個(gè)不同功能的cookie對(duì)象存在,但是這些對(duì)象不是每一次請(qǐng)求都需要帶給服務(wù)器,所以也就可以給不同的cookie對(duì)象在生成的時(shí)候設(shè)置不同的路徑,這樣當(dāng)客戶(hù)端訪(fǎng)問(wèn)服務(wù)器的時(shí)候就可以根據(jù)不同的訪(fǎng)問(wèn)路徑來(lái)攜帶不同的cookie。

“jsp中嵌入java代碼的方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!


網(wǎng)站欄目:jsp中嵌入java代碼的方法
標(biāo)題URL:http://weahome.cn/article/jsjeoo.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部