filterTest

亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

顯示JSP之前執行servlet(過濾器)

系統 1889 0

今天打算模擬一個JSTL表達式出現的一個問題,結果想實現一種效果——先執行servlet之后再跳轉到JSP頁面

?

下面我簡單介紹一下我實現的方式,使用的是——過濾器

過濾器:是可插入的web組件,攔截請求和響應,可以對請求和響應進行過濾(是在中間件中的東西tomcat\weblogic)

?

1、在web.xml中添加如下配置信息

       <!-- 測試過濾器的使用方式  -->
  <filter>
  	<filter-name>filterTest</filter-name>
  	<filter-class>hb.servlet.filter.MyFilter</filter-class>
  </filter>
  <filter-mapping>
  	<filter-name>filterTest</filter-name>
  	<!-- 下面這個url一定要配置正確,因為在系統啟動的時候會執行init()方法 -->
  	<url-pattern>/filter/filter.do</url-pattern>
  </filter-mapping>
    

?

2、編寫一個類繼承Filter 接口,實現過濾器的功能

      package hb.servlet.filter;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

import org.apache.log4j.Logger;

public class MyFilter implements Filter {

	private static Logger log = Logger.getLogger(MyFilter.class);
	
	public void destroy() {
		log.info("destroy filter");
	}

	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain filter) throws IOException, ServletException {
		log.info("doFilter filter");
		request.setAttribute("abc", "huangbiao");
		RequestDispatcher rd = request.getRequestDispatcher("/filter/filterTest.jsp");
		rd.forward(request, response);
	}

	public void init(FilterConfig filterConfig) throws ServletException {
		log.info("init filter");
	}

}

    

?

3、在URL地址欄中輸入 http://localhost:8080/dbpool/filter/filter.do

每次輸入上面的地址都會執行doFilter()方法里的內容

?

在JSP頁面中使用EL表達式將內容顯示出來

      <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'filterTest.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
	filterTest.jsp<br>
	<%=request.getAttribute("abc") %><p>
	
	<textarea name="textarea" style="width:100%; height:125px;" id="textarea" readonly="readonly">
		<c:choose>
			<c:when test="${abc != null}"><%=request.getAttribute("abc") %></c:when>
			<c:otherwise></c:otherwise>
		</c:choose>
	</textarea>
	<br>
	
	<div><textarea name="textarea2" style="width:100%; height:125px;" id="textarea2" readonly="readonly"><c:choose><c:when test="${abc != null}"><%=request.getAttribute("abc") %></c:when><c:otherwise></c:otherwise></c:choose></textarea></div>
	
  </body>
</html>

    

顯示JSP之前執行servlet(過濾器)

會發現一種很奇怪的現象,兩種textarea標簽里面的內容不一樣

?

因此,在使用JSTL邏輯控件的時候,盡量不要換行,不然會出現一些意想不到的效果

?

顯示JSP之前執行servlet(過濾器)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 四虎一区| 你懂的国产精品 | 五月婷婷在线播放 | 亚洲国产精品欧美日韩一区二区 | 成人嫩草研究院网站进 | 国产亚洲欧美另类一区二区三区 | 午夜宅男免费完整在线观看 | 五月婷婷国产 | 中文字幕一区二区精品区 | 亚洲综合网站久久久 | 国产亚洲精品久久久久久久软件 | 国产成人久久综合热 | 欧美精品亚洲精品日韩一区 | 色综合天天综合网国产成人网 | 国产亚洲精品sese在线播放 | 在线观看年轻的母亲 | 成人免费久久精品国产片久久影院 | 一级毛片国产 | 欧美精品一级毛片 | 日本aⅴ在线 | 爱爱小视频在线观看网站 | 国产一级理论免费版 | 欧美日本视频一区 | 狠狠狠狠狠狠干 | 国产免费爱在线观看视频 | 免费黄色一级网站 | 福利免费在线 | 狠狠操天天操 | 欧美成人免费网在线观看 | 欧做爰xxxⅹ性欧美图片 | 2017天天干天天射 | 久久午夜综合久久 | 国产一级淫片a视频免费观看 | 视频福利在线 | 天天草天天干 | 欧美亚洲国产色综合 | 99热久久久这里只有精品免费 | 9久9久热精品视频在线观看 | 精品成人免费一区二区在线播放 | 中文字幕日韩高清 | 在线欧美视频免费观看国产 |