国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

JavaEE知識(shí)總結(jié)

2018-03-22 18:45 作者:swiss126  | 我要投稿

JavaEE知識(shí)總結(jié)

一、JSP基礎(chǔ)

1、JSP的本質(zhì)是Html嵌入Java程序

2、JSP屬于View層,只能訪問(wèn)Service(Ctrl)層

3、Tomcat是一個(gè)容器,用來(lái)把.jsp轉(zhuǎn)成.java,編譯成.class

4、在JSP里面寫Java代碼:

<%@page import="包名命令"%> JSP導(dǎo)包

<% %>Java代碼

<%=變量名%>輸出數(shù)據(jù)

<%! 變量%> 定義屬性

<%-- --%>注釋

二、JSP九大內(nèi)置對(duì)象

1、out   javax.servlet.jsp.JspWriter   用于頁(yè)面的輸出

2、request   javax.servlet.http.HttpServletRequest   請(qǐng)求

3、response   javax.servlet.http.HttpServletResponse   響應(yīng)

4、config   javax.servlet.ServletConfig   

服務(wù)器的配置信息,可以得到初始化信息

5、session   javax.servlet.http.HttpSession   

它是一個(gè)域?qū)ο?用來(lái)存用戶信息)

6、application   javax.servlet.ServletContext   

它也是一個(gè)域?qū)ο?用來(lái)存用戶的信息)

7、pageContext   javax.servlet.jsp.PageContext   

它是jsp的頁(yè)面容器,也是域?qū)ο?可以得到其它內(nèi)置對(duì)象)

8、page   就是當(dāng)前的jsp類的對(duì)象

9、exception   java.lang.Throwable   當(dāng)頁(yè)面發(fā)生異常,在錯(cuò)誤頁(yè)中才起作用

四大作用域:都有setAttribute()和getAttribute()方法

request: 保存在一次請(qǐng)求當(dāng)中

pageContext : 保存在當(dāng)前頁(yè)

session: 保持在一次會(huì)話當(dāng)中

application: 保持在服務(wù)器, 至到服務(wù)器關(guān)閉

三、EL表達(dá)式

1、格式

輸出數(shù)據(jù):${變量 }

判斷是否為空:${empty 變量}返回值true為空

計(jì)算:${表達(dá)式}

2、EL表達(dá)式有11個(gè)內(nèi)置對(duì)象

1.pageScope

作用:在pageContext域?qū)ο笾腥カ@取值;

用法:${pageScope.xxx}

2.requestScope

作用:在request域?qū)ο笾腥カ@取值;

用法:${requestScope.xxx}

3.sessionScope

作用:在session域?qū)ο笾腥カ@取值;

用法:${sessionScope.xxx}

4.applicationScope     

作用:在application域?qū)ο笾腥カ@取值;

用法:${applicationScope.xxx}

5.param

作用:用于在頁(yè)面接收參數(shù),類似于request.getAttribute(),獲取出來(lái)是單值,就是說(shuō)你傳個(gè)數(shù)組來(lái),我只能接受到第一個(gè)值。

用法:${param.xxx}

6.paramValues

作用:同樣用于在頁(yè)面接收參數(shù),同樣類似于request.getAttribute(),獲取出來(lái)就是多值。

用法:${param.xxx}

7.header

作用:用于獲得請(qǐng)求頭中的值;

用法:${header[‘User-Agent‘]};

8.headerValues  

同上。。。

9.initParam

作用:可以獲得在web.xml中配置的<context-param>中的值;

用法:

<context-param>

<param-name>name</param-name>

<param-value>tom</param-value>

</context-param>

${initParam.name}就可以得到tom了。

10.cookie

作用:得到cookie的值,

用法:${cookie.JSESSIONID.value}

因?yàn)閏ookie.JSESSIONID得到的是一個(gè)cookie對(duì)象,所以需要.value才能得到cookie的值。

11.pageContext

作用:例如:獲得其他的域,操作其他的域。

用法:

例如:${pageContext.session.id}

得到session并且得到session的id

*當(dāng)只輸入?yún)?shù)名,不輸入域的時(shí)候,EL表達(dá)式優(yōu)先顯示范圍小的參數(shù)

 page<request<session<application

四、JSTL

1、準(zhǔn)備工作

使用工具包:jstl.jar,standard.jar;

導(dǎo)包: <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>

 如果出現(xiàn)報(bào)錯(cuò):HTTP Status 500 - /TestEL.jsp (line: 21, column: 0) According to TLD or attribute directive in tag file, attribute items does not accept any expressions
原因是core不兼容,改成core_rt就行了
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>

2、語(yǔ)法

循環(huán)遍歷:

<c:forEach items="${list}" var="str">${str}<br/></c:forEach>

判斷:

<c:if test="${3>2}">如果滿足條件,就輸出這句話</c:if>

五、Cookie

1、寫入cookie

//登錄時(shí)間

Calendar datetime= Calendar.getInstance();

SimpleDateFormat format =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  

String result=format.format(datetime.getTime());

//寫入cookie


Cookie cookie=new Cookie("LoginTime",result);

cookie.setMaxAge(60*60*24);//cookie保存時(shí)間單位是秒,目前保存一天

cookie.setPath("/WebProject");

response.addCookie(cookie);

2、讀取cookie

boolean Loginflag=false;

Cookie[] cookies=request.getCookies();//先獲取所有cookie

String welcome="歡迎"+name+"!";

session.setAttribute("name", name);

for(Cookie c:cookies){//然后遍歷查找我們需要的cookie

if(("LoginTime").equals(c.getName()))

{

welcome+="上次登錄時(shí)間:"+c.getValue();

Loginflag=true;

}

3、清理cookie

//清除登錄信息

Cookie cookie=new Cookie("LoginTime","");

cookie.setMaxAge(0);

cookie.setPath("/WebProject");

response.addCookie(cookie);

六、Servlet

1、JSP改servlet步驟:

1: 先寫一個(gè)servlet
2: 再寫配置文件
3: 再根據(jù)web.xml里配置的路徑,調(diào)用servlet

2、配置Servlet映射地址(兩種方法)

(1)在Servlet中加注釋@WebServlet("/HelloServlet")

(2)配置web.xml

    <servlet>

      <servlet-name>HelloServlet</servlet-name>

      <servlet-class>com.swiss126.servlet.HelloServlet</servlet-class>

  </servlet>

  <servlet-mapping>

      <servlet-name>HelloServlet</servlet-name>

      <url-pattern>/Hello</url-pattern>

  </servlet-mapping>

3、Servlet的生命周期

init:第一次訪問(wèn)Servlet所在地址時(shí)執(zhí)行初始化方法

doGet:Servlet收到get請(qǐng)求調(diào)用的方法

doPost:Servlet收到post請(qǐng)求調(diào)用的方法

destroy:正常關(guān)閉服務(wù)器時(shí)執(zhí)行的銷毀Servlet釋放資源的方法

service:收到get和post請(qǐng)求都能調(diào)用的方法

4、Servlet可以使用的方法與對(duì)象

(1)重寫Servlet中的所有方法

(2)JSP中的所有作用域都可以使用,因?yàn)镴SP的本質(zhì)就是一個(gè)Servlet

七、Filter

1、配置方法:

(1)注釋:@WebFilter("/*")

(2)配置web.xml:

  <filter>

      <filter-name>characterFilter</filter-name>

      <filter-class>

com.swiss126.productmanager.filter.CharacterFilter</filter-class>

  </filter>

  <filter-mapping>

      <filter-name>characterFilter</filter-name>

      <url-pattern>/*</url-pattern>

  </filter-mapping>

2、Filter的用處是根據(jù)條件過(guò)濾掉用戶發(fā)出的不合法請(qǐng)求,減少服務(wù)器的工作量。doFilter就是用來(lái)判斷是否過(guò)濾請(qǐng)求的方法。

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {

if(!(((HttpServletRequest)request).getRequestURI().toLowerCase().contains("login"))||((HttpServletRequest)request).getRequestURI().contains("QuitServlet")){

try{

if(((HttpServletRequest)request).getSession().getAttribute("name")==null)

((HttpServletResponse)response).getWriter().print(

"<script type=\"text/javascript\">alert(\"請(qǐng)先登錄!\");top.location=\"login.jsp\";</script>");

else chain.doFilter(request, response);

}catch(Exception e){

((HttpServletResponse)response).getWriter().print(

"<script type=\"text/javascript\">alert(\"請(qǐng)先登錄!\");top.location=\"login.jsp\";</script>");

}

}else{

chain.doFilter(request, response);

}

}

doFilter中有很多條件,只有滿足條件請(qǐng)求的才會(huì)執(zhí)行chain.doFilter(request, response);方法,讓請(qǐng)求通過(guò)Filter。

八、Listener

Listener監(jiān)聽(tīng)器用來(lái)監(jiān)聽(tīng)Servlet中的各種事件

?public class OnlineListener implements HttpSessionListener {

    /**

     * Default constructor. 

     */

    public OnlineListener() {

        // TODO Auto-generated constructor stub

    }

/**

     * @see HttpSessionListener#sessionCreated(HttpSessionEvent)

     */

    public void sessionCreated(HttpSessionEvent arg0)  { 

         // TODO Auto-generated method stub

    InitServlet.online++;

    System.out.println("---創(chuàng)建session---");

    }

/**

     * @see HttpSessionListener#sessionDestroyed(HttpSessionEvent)

     */

    public void sessionDestroyed(HttpSessionEvent arg0)  { 

         // TODO Auto-generated method stub

    InitServlet.online--;

    System.out.println("---銷毀session---");

    }

}

?Listener的配置方法:

(1)注釋:@WebListener

(2)配置web.xml:

  <listener>

    <listener-class>

com.swiss126.productmanager.listener.OnlineListener</listener-class>

  </listener>



JavaEE知識(shí)總結(jié)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
突泉县| 伊宁县| 长岛县| 弥勒县| 清水河县| 孟村| 武强县| 翼城县| 方山县| 滨州市| 秭归县| 于都县| 鄂伦春自治旗| 谷城县| 施秉县| 易门县| 独山县| 重庆市| 个旧市| 台安县| 彭州市| 保定市| 庐江县| 苏尼特左旗| 涞源县| 宜兰市| 中阳县| 额济纳旗| 通榆县| 镇坪县| 张家界市| 苏尼特左旗| 信宜市| 鸡泽县| 阳西县| 贵德县| 赤城县| 浠水县| 呼图壁县| 浏阳市| 若羌县|