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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java中servlet知识_jsp_Servlet常用知识总结

發(fā)布時間:2025/3/12 编程问答 70 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中servlet知识_jsp_Servlet常用知识总结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Servlet三個要素

[java] view plain copy print?

1.必須繼承自HttpServlet

2.必須實現(xiàn)doGet()或者doPost()

3.必須在web.xml中配置Servlet

HttpServeltRrequest:請求對象

getParameter():獲得表單元素的值

getAttribute():獲得request范圍中的屬性值

setAttribute():設(shè)置reqeust范圍中的屬性值

setCharacterEncoding():設(shè)置字符編碼

HttpSerletResponse:相應(yīng)對象

sendRedirect():外部跳轉(zhuǎn)

getWriter():獲得輸出流對象

setContentType("text/html; charset=utf-8"):設(shè)置相應(yīng)內(nèi)容格式和編碼

四種會話跟蹤方式

[java] view plain copy print?

1.Session

HttpSession session = request.getSession();

session.setAttribute("name", "zhangsan");

session.setAttribute("pwd", "aaa");

String name = (String) session.getAttribute("name");

2.cookie:

//創(chuàng)建Cookie

Cookie cookie = new Cookie("name", "zhangsan");

//設(shè)置Cookie的超時時間

cookie.setMaxAge(24 60 60 *60);

//把Cookie發(fā)送到客戶端

response.addCookie(cookie);

//得到客戶端發(fā)送的Cookie

Cookie [] cookies = request.getCookies();

for(int i=0; i

Cookie temp = cookies[i];

String key = temp.getName();

String value = temp.getValue();

}

3.隱藏表單域

request.getParameter("name");

4.Url重寫

問號傳參

LoginServlet?username=zhangsan&pwd=123

String name = request.getParameter("username");

String pwd =request.getPareameter("pwd");

內(nèi)部跳轉(zhuǎn)和外部跳轉(zhuǎn)

[java] view plain copy print?

內(nèi)部跳轉(zhuǎn):

LoginServlet

request.getRequestDispatcher("index.jsp").forward(request, resposne);

外部跳轉(zhuǎn):

response.sendRedirect("index.jsp");

內(nèi)部跳轉(zhuǎn)是一次請求和一次響應(yīng)

外部跳轉(zhuǎn)是兩次請求和兩次響應(yīng)

[java] view plain copy print?

ServletContext:Servlet上下文對象

它是一個公共區(qū)域,可以被所有的客戶端共享

setAttribute():向公共區(qū)域里放入數(shù)據(jù)

getAttribute():從公共區(qū)域里取數(shù)據(jù)

三個標(biāo)準(zhǔn)范圍:request, session, ServletContext

共同點:都有setAttribute(), getAttribute()

區(qū)別:范圍不同,request < session < servletContext

服務(wù)器上的五大對象

request, response, servlet, session, servletContext

Jsp:Java Server Page

頁面構(gòu)成:7種元素

[java] view plain copy print?

1.靜態(tài)內(nèi)容:html

2.指令:page, include, taglib:

3.表達(dá)式:

4.Scriptlet

5.聲明::變量和方法

6.動作:

7.注釋:

客戶端看不到的:

客戶端可以看到的:

Jsp的執(zhí)行過程

[java] view plain copy print?

1.轉(zhuǎn)譯:Jsp--->Servlet

2.編譯:Servlet---->.class

3.執(zhí)行:.class

第一次訪問jsp的時候響應(yīng)速度較慢,后面請求時響應(yīng)速度快

腳本

[java] view plain copy print?

表達(dá)式:

Scriptlet:

聲明:

指令

[java] view plain copy print?

page:language, import, errorPage, isErrorpage

include:file

taglib:uri:指定標(biāo)簽庫描述符的路徑 prefix:指定標(biāo)簽的前綴

隱式對象

[java] view plain copy print?

分類:

1.輸入和輸出對象:request(HttpServletRequest),

response(HttpServletResponse),

out(JspWriter), servlet中的out是PrintWriter

2.作用域通信對象:pageContext, request,

session(HttpSession),

application(ServletContext)

3.Servlet對象:page(this), config

4.錯誤對象:exception

JavaBean

[java] view plain copy print?

一個標(biāo)準(zhǔn)的JavaBean有三個條件

1.共有的類

2.具有不帶參數(shù)的公共的構(gòu)造方法

3.具有set()和get()方法

4.私有屬性

Jsp中的標(biāo)準(zhǔn)動作

[java] view plain copy print?

1.useBean:創(chuàng)建JavaBean的一個實例

2.setProperty:給JavaBean的屬性賦值

value和param不能同時使用

偷懶的方法:

這個時候需要注意的是,表單元素的名字必須和JavaBean的屬性值

一模一樣

3.getProperty:獲得JvaBean的屬性值

4.forward:內(nèi)部跳轉(zhuǎn),相當(dāng)于request.getRequestDispatcher().forward(request, response);

5.include:包含

表達(dá)式語言

[java] view plain copy print?

EL: Expression Language

語法格式: ${表達(dá)式 }

表示式 = 運算符 + 操作數(shù)

運算符:跟Java比較,多了一個empty, 少了一個賦值運算符

${empty ""} : true

${empty null} :true

操作數(shù):

-->常量:布爾型(true/false), 整型, 浮點型, 字符串(可以用'', 還可以用""), Null

-->變量:

1.指的是放在四個標(biāo)準(zhǔn)范圍里的屬性(page, request, session, application)

2.在編準(zhǔn)范圍內(nèi)的搜索順序:page-->request--->session--->application

3.怎么取得變量值:點運算符., 還以用[]

request.setAttribute("name", "lisi");

%>

${requestScope.name}

或者

${requestScope["name"]}

-->隱式對象

1.pageContext:通過它可以訪問request, session, servletContext

2.跟范圍由關(guān)的:pageScope, requestScope, sessionScope, applicationScope

3.跟輸入有關(guān)的:param, paramValues

4.其他的:header, cookie, headervalues,

EL表達(dá)式適用的場合:

1.可以在靜態(tài)文本中使用

2.與自定義標(biāo)簽結(jié)合使用

3.和JavaBean結(jié)合使用

${stu.stuName}

自定義標(biāo)簽

[java] view plain copy print?

1.標(biāo)簽處理程序?qū)崿F(xiàn)

--->實現(xiàn):繼承自BodyTagSupport或者TagSupport

一般會重寫doStartTag(), doEndTag(), doAfterBody()

--->描述:在標(biāo)簽庫描述符文件中描述(.tld)

1.0

2.0

simpletag

showbody

com.westaccp.test.ShowBodyTag

empty/jsp

color

--->使用:

2.標(biāo)簽文件

--->實現(xiàn)和描述

在.tag文件中實現(xiàn)

設(shè)置主體內(nèi)容:

設(shè)置屬性:

有主體內(nèi)容:

String body = (String) session.getAttribute("theBody");

%>

--->使用

WEB-INF/tags/sayhello.tag

標(biāo)準(zhǔn)標(biāo)簽庫

[java] view plain copy print?

1.核心標(biāo)簽庫

-->通用:

set:

out:

remove:

-->條件:

if:.....

choose:

...

...

...

.....

...

-->迭代:

forEach:

foTokens:

Java,C#;SQLC

2.I18N與格式化標(biāo)簽庫

-->setLocale:設(shè)置本地區(qū)域

-->bundle:設(shè)置資源包

-->setBundle:設(shè)置資源包

-->message:輸出消息

3.SQL標(biāo)簽庫

-->setDataSource:設(shè)置數(shù)據(jù)源,用于獲得與數(shù)據(jù)庫的連接

-->query:執(zhí)行查詢

-->update:執(zhí)行增,刪,改

-->transaction:事務(wù)

-->param:參數(shù)

4.XML標(biāo)簽庫

過濾器

[java] view plain copy print?

生命周期:

1.實例華:

2.初始化:init()

3.過濾:doFilter()

4.銷毀:destroy()

5.不可用

配置

[java] view plain copy print?

幾個重要的接口

[java] view plain copy print?

1.Filter:init(), doFilter(), destroy()

2.FilterChain: doFilter(request, response)

3.FilterConfig:getFilterName(), getInitParameter(),

過濾器鏈

--->1--->2--->3--->Servlet 請求

MvC設(shè)計模式

[java] view plain copy print?

1.ModelI:jsp+JavaBean

2.ModelII:jsp+Servlet+JavaBean

jsp---view

servlet---control

javabean---model

MVC:

M--Model:模型:訪問后臺數(shù)據(jù)庫

V--view:視圖:展示

C--control:控制器:控制程序流程

ModelII和MVC的關(guān)系:

MVC是一種設(shè)計模式,ModelII它是MVC的一種具體的實現(xiàn)

總結(jié)

以上是生活随笔為你收集整理的java中servlet知识_jsp_Servlet常用知识总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。