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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

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

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

Servlet三個要素

[java] view plain copy print?

1.必須繼承自HttpServlet

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

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

HttpServeltRrequest:請求對象

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

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

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

setCharacterEncoding():設置字符編碼

HttpSerletResponse:相應對象

sendRedirect():外部跳轉

getWriter():獲得輸出流對象

setContentType("text/html; charset=utf-8"):設置相應內容格式和編碼

四種會話跟蹤方式

[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:

//創建Cookie

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

//設置Cookie的超時時間

cookie.setMaxAge(24 60 60 *60);

//把Cookie發送到客戶端

response.addCookie(cookie);

//得到客戶端發送的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");

內部跳轉和外部跳轉

[java] view plain copy print?

內部跳轉:

LoginServlet

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

外部跳轉:

response.sendRedirect("index.jsp");

內部跳轉是一次請求和一次響應

外部跳轉是兩次請求和兩次響應

[java] view plain copy print?

ServletContext:Servlet上下文對象

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

setAttribute():向公共區域里放入數據

getAttribute():從公共區域里取數據

三個標準范圍:request, session, ServletContext

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

區別:范圍不同,request < session < servletContext

服務器上的五大對象

request, response, servlet, session, servletContext

Jsp:Java Server Page

頁面構成:7種元素

[java] view plain copy print?

1.靜態內容:html

2.指令:page, include, taglib:

3.表達式:

4.Scriptlet

5.聲明::變量和方法

6.動作:

7.注釋:

客戶端看不到的:

客戶端可以看到的:

Jsp的執行過程

[java] view plain copy print?

1.轉譯:Jsp--->Servlet

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

3.執行:.class

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

腳本

[java] view plain copy print?

表達式:

Scriptlet:

聲明:

指令

[java] view plain copy print?

page:language, import, errorPage, isErrorpage

include:file

taglib:uri:指定標簽庫描述符的路徑 prefix:指定標簽的前綴

隱式對象

[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?

一個標準的JavaBean有三個條件

1.共有的類

2.具有不帶參數的公共的構造方法

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

4.私有屬性

Jsp中的標準動作

[java] view plain copy print?

1.useBean:創建JavaBean的一個實例

2.setProperty:給JavaBean的屬性賦值

value和param不能同時使用

偷懶的方法:

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

一模一樣

3.getProperty:獲得JvaBean的屬性值

4.forward:內部跳轉,相當于request.getRequestDispatcher().forward(request, response);

5.include:包含

表達式語言

[java] view plain copy print?

EL: Expression Language

語法格式: ${表達式 }

表示式 = 運算符 + 操作數

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

${empty ""} : true

${empty null} :true

操作數:

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

-->變量:

1.指的是放在四個標準范圍里的屬性(page, request, session, application)

2.在編準范圍內的搜索順序:page-->request--->session--->application

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

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

%>

${requestScope.name}

或者

${requestScope["name"]}

-->隱式對象

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

2.跟范圍由關的:pageScope, requestScope, sessionScope, applicationScope

3.跟輸入有關的:param, paramValues

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

EL表達式適用的場合:

1.可以在靜態文本中使用

2.與自定義標簽結合使用

3.和JavaBean結合使用

${stu.stuName}

自定義標簽

[java] view plain copy print?

1.標簽處理程序實現

--->實現:繼承自BodyTagSupport或者TagSupport

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

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

1.0

2.0

simpletag

showbody

com.westaccp.test.ShowBodyTag

empty/jsp

color

--->使用:

2.標簽文件

--->實現和描述

在.tag文件中實現

設置主體內容:

設置屬性:

有主體內容:

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

%>

--->使用

WEB-INF/tags/sayhello.tag

標準標簽庫

[java] view plain copy print?

1.核心標簽庫

-->通用:

set:

out:

remove:

-->條件:

if:.....

choose:

...

...

...

.....

...

-->迭代:

forEach:

foTokens:

Java,C#;SQLC

2.I18N與格式化標簽庫

-->setLocale:設置本地區域

-->bundle:設置資源包

-->setBundle:設置資源包

-->message:輸出消息

3.SQL標簽庫

-->setDataSource:設置數據源,用于獲得與數據庫的連接

-->query:執行查詢

-->update:執行增,刪,改

-->transaction:事務

-->param:參數

4.XML標簽庫

過濾器

[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設計模式

[java] view plain copy print?

1.ModelI:jsp+JavaBean

2.ModelII:jsp+Servlet+JavaBean

jsp---view

servlet---control

javabean---model

MVC:

M--Model:模型:訪問后臺數據庫

V--view:視圖:展示

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

ModelII和MVC的關系:

MVC是一種設計模式,ModelII它是MVC的一種具體的實現

總結

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

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