锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久精品国产亚洲AV大全,亚洲国产综合专区在线电影
,亚洲日本成本人观看http://www.tkk7.com/SE7EN/zh-cnMon, 12 May 2025 18:27:14 GMTMon, 12 May 2025 18:27:14 GMT60- 閫氳繃xml閰嶇疆鎼炲畾Struts閲嶅鎻愪氦闂(杞?http://www.tkk7.com/SE7EN/archive/2008/08/14/222083.htmlSE7ENSE7ENThu, 14 Aug 2008 10:35:00 GMThttp://www.tkk7.com/SE7EN/archive/2008/08/14/222083.htmlhttp://www.tkk7.com/SE7EN/comments/222083.htmlhttp://www.tkk7.com/SE7EN/archive/2008/08/14/222083.html#Feedback0http://www.tkk7.com/SE7EN/comments/commentRss/222083.htmlhttp://www.tkk7.com/SE7EN/services/trackbacks/222083.html
鏍稿績浠g爜濡備笅錛?/strong>
package com.yapulan.util.filter;
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import javax.servlet.Filter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.FilterConfig;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.FilterChain;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import org.apache.log4j.Logger;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
/**
* 閲嶅鎻愪氦浠ょ墝鑷姩鍔犺澆鍣?鍔熻兘錛氳鍙栬繃婊ゅ櫒涓緗殑淇℃伅錛岃鍏ヤ護鐗岃緗粍
*/
public class TokenFilter implements Filter {
private String TokenConfig = "TokenConfig.xml";
private HashMap TokenMap = null;
private HashMap ErrorMap = null;
protected FilterConfig filterConfig;
static Logger logger = Logger.getLogger(TokenFilter.class.getName());
public void init(FilterConfig config) throws ServletException {
this.filterConfig = config;
this.TokenConfig = config.getInitParameter("tokenfile");
logger.debug("Tokenlist init OK!");
}
/**
* 鍒濆鍖栫郴緇熺殑xml鏂囦歡,璇誨叆浠ょ墝鍒楄〃
*/
@SuppressWarnings({ "unchecked", "deprecation" })
public void initConfig(ServletRequest srequest) {
HttpServletRequest httpRequest = (HttpServletRequest) srequest;
try {
TokenMap = new HashMap();
ErrorMap = new HashMap();
SAXReader reader = new SAXReader();
Document document = reader.read(httpRequest.getRealPath(this.TokenConfig));
List list1 = document.getRootElement().selectNodes("/TokenList/Token/TokenForm");
List list2 = document.getRootElement().selectNodes("/TokenList/Token/TokenAction");
List list3 = document.getRootElement().selectNodes("/TokenList/Token/ErrorPage");
Iterator iter1 = list1.iterator();
Iterator iter2 = list2.iterator();
Iterator iter3 = list3.iterator();
while (iter1.hasNext()&&iter2.hasNext()&&iter3.hasNext()) {
Element element1 = (Element) iter1.next();
Element element2 = (Element) iter2.next();
Element element3 = (Element) iter3.next();
TokenMap.put(element1.getStringValue(), element2.getStringValue());
ErrorMap.put(element1.getStringValue(), element3.getStringValue());
}
logger.debug("TokenFilter Read "
+ httpRequest.getRealPath(this.TokenConfig)
+ " is OK!");
} catch (Exception e) {
logger.error("TokenFilter Read "
+ httpRequest.getRealPath(this.TokenConfig)
+ " is Error!");
}
}
public void doFilter(ServletRequest srequest, ServletResponse sresponse,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpRequest = (HttpServletRequest) srequest;
try {
//鍙栧嚭瀹為檯鐨勬枃浠惰礬寰勭洿鎺ヨ皟鐢ㄦ枃浠?濡俰ndex.html,login.jsp絳?
String toURI = httpRequest.getRequestURI().replaceFirst(httpRequest.getContextPath(), "");
if (TokenMap==null)
{
initConfig(httpRequest);
}
//媯嫻嬩負鎻愪氦jsp欏?
if (TokenMap.get(toURI) != null)
{
FromTokenAction token = new FromTokenAction();
token.execute(null, null, srequest, sresponse);
httpRequest.getSession().setAttribute("PRE_TOKEN_FORM", toURI);
logger.debug("TokenFilter save '"+toURI +"' at 'PRE_TOKEN_FORM' of Session!");
logger.debug("TokenFilter saveToken to '"+toURI +"' is OK!");
chain.doFilter(srequest, sresponse);
return;
}
@SuppressWarnings("unused")
String preURI =(String)httpRequest.getSession().getAttribute("PRE_TOKEN_FORM");
//媯嫻嬪埌涓篈ction鎺ユ敹鎻愪氦欏甸潰
if (TokenMap.get(preURI).equals(toURI))
{
TOTokenAction token = new TOTokenAction();
token.execute(null, null, srequest, sresponse);
chain.doFilter(srequest, sresponse);
return;
}
} catch (Exception e)
{
logger.error(e);
}
chain.doFilter(srequest, sresponse);
}
public void setFilterConfig(final FilterConfig filterConfig) {
this.filterConfig = filterConfig;
}
public void destroy() {
TokenMap.clear();
ErrorMap.clear();
this.filterConfig = null;
}
//媯嫻嬪埌闇瑕佷護鐗屽鍔犱竴涓護鐗?
public class FromTokenAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
this.saveToken(request);
return null;
}
}
//鍒拌揪Action鍓嶆嫻嬩護鐗?
public class TOTokenAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
@SuppressWarnings("unused")
String preURI =(String)request.getSession().getAttribute("PRE_TOKEN_FORM");
//濡傛灉媯嫻嬩護鐗岄敊璇墽琛岄敊璇〉,姝g‘灝嗙戶緇墽琛?
if (!isTokenValid(request, true))
{
@SuppressWarnings("unused")
String toURI = (String)ErrorMap.get(preURI);
if (toURI!=null)
{
RequestDispatcher disp = request.getRequestDispatcher(toURI);
try {
disp.forward(request, response);
}catch(Exception e)
{
logger.error(e);
}
}
}
return null;
}
}
}
Web.xml鐨勯厤鍒?/strong>
<!-- 浠ょ墝鑷姩鍔犺澆閰嶅埗 -->
<filter>
<filter-name>tokenFilter</filter-name>
<filter-class>com.yapulan.util.filter.TokenFilter</filter-class>
<init-param>
<param-name>tokenfile</param-name>
<param-value>/WEB-INF/TokenConfig.xml</param-value>
</init-param>
</filter>
娉ㄦ剰:灝嗕唬鐮佸寘涓瓀eb.xml鍋氫互涓嬩慨鏀?
<filter-mapping>
<filter-name>tokenFilter</filter-name>
<url-pattern/*</url-pattern>
</filter-mapping>
璁劇疆濂借繃婊ゅ櫒錛屽彧瑕侀厤緗垪琛ㄥ嵆鍙伩鍏嶆墍鏈夌殑閲嶅鎻愪氦闂錛屼笉蹇呭湪緙栫▼鏃跺啀嬈¤冭檻浜?/strong>
<?xml version="1.0" encoding="UTF-8"?>
<TokenList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="TokenConfig.xsd">
<Token>
<TokenForm>/index.jsp</TokenForm>
<TokenAction>/TokenAction.do</TokenAction>
<ErrorPage>/error.html</ErrorPage>
</Token>
<Token>
<TokenForm>/index1.jsp</TokenForm>
<TokenAction>/TokenAction1.do</TokenAction>
<ErrorPage>/error1.jsp</ErrorPage>
</Token>
<Token>
<TokenForm>/index2.jsp</TokenForm>
<TokenAction>/TokenAction2.do</TokenAction>
<ErrorPage>/error2.jsp</ErrorPage>
</Token>
<Token>
<TokenForm>/index3.jsp</TokenForm>
<TokenAction>/TokenAction3.do</TokenAction>
<ErrorPage>/error3.jsp</ErrorPage>
</Token>
</TokenList>
娉ㄦ剰錛氭湰浠g爜鍙互寰堝ソ鐨勯獙璇侀潪娉曠殑鎻愪氦錛屽浜庣鐞嗛潪娉曠殑鎻愪氦鏄竴涓笉鍙寰楃殑鍏鋒湁涓瀹氬畨鍏ㄦ剰涔夊皝瑁呫?
璇風儹蹇冪殑鏈嬪弸鍒嗘瀽鏈夋棤鍏跺畠娌℃湁鑰冭檻鐨勭粏鑺傞棶棰橈紝騫朵笖鏄惁鏈夊彲浠ヨ繘涓閮ㄥ畬鍠勭殑鍦版柟錛岃阿璋紒

]]> - Tomcat鏁版嵁榪炴帴姹?/title>http://www.tkk7.com/SE7EN/archive/2008/08/14/222082.htmlSE7ENSE7ENThu, 14 Aug 2008 10:27:00 GMThttp://www.tkk7.com/SE7EN/archive/2008/08/14/222082.htmlhttp://www.tkk7.com/SE7EN/comments/222082.htmlhttp://www.tkk7.com/SE7EN/archive/2008/08/14/222082.html#Feedback0http://www.tkk7.com/SE7EN/comments/commentRss/222082.htmlhttp://www.tkk7.com/SE7EN/services/trackbacks/222082.htmlTomcat6.0鐨勬暟鎹簮鐨勫熀鏈厤緗繘琛岀畝鍗曠殑浠嬬粛錛?
棣栧厛澹版槑,濡傛灉鏁版嵁婧愭病鏈夐厤緗ソ鐨勮瘽錛屽湪寮鍙戣繃紼嬩腑浼氭姏鍑鴻濡備笅鍒楀紓甯哥瓑錛?
1銆?span class="hilite1">org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
2銆丆aused by: java.sql.SQLException: No suitable driver
3銆丯ame jdbc is not bound in this context
鐜板湪寮濮嬭涓嬪浣曢厤緗ソ鏁版嵁婧愬悓鏃朵篃鏄В鍐充笂榪板紓甯哥殑鍔炴硶錛?
鏂規涓錛?
姝ラ涓銆佸湪Tomcat6.0瑙e帇鐩綍conf涓嬫壘鍒癱ontext.xml,鍦ㄥ叾涓殑<Context></Context> 涓姞鍏ュ涓嬩唬鐮?瑕佹牴鎹嚜宸辯殑鎯呭喌紼嶅姞淇敼)錛?<Resource name="jdbc/myznt" auth="Container" type="javax.sql.DataSource" password="localhost" username="root" driverClassName="org.gjt.mm.mysql.Driver" url="jdbc:mysql://localhost/myznt" maxActive="100" maxIdle="30" maxWait="5000"/>
姝ラ浜屻佸湪宸ョ▼搴旂敤涓?WEB-INF/涓嬬殑web.xml涓姞鍏ュ涓嬩唬鐮?瑕佹牴鎹嚜宸辯殑鎯呭喌紼嶅姞淇敼):
<resource-ref>
<description>MySQL DataSource</description>
<res-ref-name>jdbc/myznt</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
姝ラ涓夈佹妸MySQL-Connector-java-3.0.12-bin.jar(鍙崲鏇撮珮鐗堟湰)鍔犲埌Tomcat瀹夎鐩綍涓殑lib鐩綍涓嬪拰宸ョ▼涓殑lib鐩綍涓嬨?
閫氳繃榪欎笁姝ワ紝涓涓熀鏈殑鏁版嵁婧愬氨閰嶇疆鎴愬姛浜?
鏂規浜?
姝ラ涓銆佸湪Tomcat6.0瑙e帇鐩綍conf涓嬫壘鍒皊erver.xml,鍦ㄥ叾涓殑<GlobalNamingResources></GlobalNamingResources>涓姞鍏ュ涓嬩唬鐮?瑕佹牴鎹嚜宸辯殑鎯呭喌紼嶅姞淇敼)錛?
<Resource name="jdbc/myznt" auth="Container" type="javax.sql.DataSource" password="localhost" username="root" driverClassName="org.gjt.mm.mysql.Driver" url="jdbc:mysql://localhost/myznt" maxActive="100" maxIdle="30" maxWait="5000"/>
姝ラ浜屻佸湪Tomcat6.0瑙e帇鐩綍conf涓嬫壘鍒癱ontext.xml,鍦ㄥ叾涓殑<Context></Context>涓姞鍏ュ茍淇敼鎴愬涓嬩唬鐮?瑕佹牴鎹嚜宸辯殑鎯呭喌紼嶅姞淇敼):
<Context path="/znt" debug="1" reloadable="true" docBase="E:\EclipseWorkPlace\MyZNT\WebRoot">
<ResourceLink global="jdbc/myznt" name="jdbc/myznt" type="javax.sql.Datasource"/>
................<!--姝ら棿鍙兘鏈夌郴緇熷叾瀹冭嚜閰嶇殑鍐呭錛屽彲涓嶇-->
</Context>
姝ラ涓夈佸湪宸ョ▼涓?WEB-INF/涓嬬殑web.xml涓姞鍏ュ涓嬩唬鐮?瑕佹牴鎹嚜宸辯殑鎯呭喌紼嶅姞淇敼):
<resource-ref>
<description>MySQL DataSource</description>
<res-ref-name>jdbc/myznt</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
姝ラ鍥涖佹妸MySQL-Connector-java-3.0.12-bin.jar(鍙崲鏇撮珮鐗堟湰)鍔犲埌Tomcat瀹夎鐩綍涓殑lib鐩綍涓嬪拰宸ョ▼涓殑lib鐩綍涓嬨?
閫氳繃浠ヤ笂鍥涙灝卞ソ浜?
鏂規涓?鍏鋒湁涓嶇ǔ瀹氭?鎱庣敤)
姝ラ涓銆佸湪Tomcat6.0瑙e帇鐩綍conf涓嬫壘鍒皊erver.xml,鍦ㄥ叾涓殑<Host></Host>涓姞鍏ュ涓嬩唬鐮?瑕佹牴鎹嚜宸辯殑鎯呭喌紼嶅姞淇敼)錛?
<Context path="/znt" docBase="E:\EclipseWorkPlace\MyZNT\WebRoot"
debug="5" reloadable="true" crossContext="true">
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="localhost_MysqlTest_log." suffix=".txt"
timestamp="true"/>
<Resource name="jdbc/myznt" auth="Container" type="javax.sql.DataSource" password="localhost" username="root" driverClassName="org.gjt.mm.mysql.Driver" url="jdbc:mysql://localhost/myznt" maxActive="100" maxIdle="30" maxWait="5000"/>
</Context>
姝ラ浜屻佸湪宸ョ▼涓?WEB-INF/涓嬬殑web.xml涓姞鍏ュ涓嬩唬鐮?瑕佹牴鎹嚜宸辯殑鎯呭喌紼嶅姞淇敼):
<resource-ref>
<description>MySQL DataSource</description>
<res-ref-name>jdbc/myznt</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
姝ラ涓夈佹妸MySQL-Connector-java-3.0.12-bin.jar(鍙崲鏇撮珮鐗堟湰)鍔犲埌Tomcat瀹夎鐩綍涓殑lib鐩綍涓嬪拰宸ョ▼涓殑lib鐩綍涓嬨?
閫氳繃浠ヤ笂涓夋錛屽ぇ閮ㄥ垎鏃跺欒繕鏄搗浣滅敤鐨勶紝浣嗘湁鏃朵細鍑虹幇寮傚父錛屽洜姝や笉寤鴻浣跨敤銆?
浠ヤ笂鍑犵鏂規鍦ㄥ疄璺典腑緇忓彈浜嗘祴璇曪紝鏂規涓鍜屼簩姣旇緝紼沖畾錛屾柟妗堜笁鏈濂藉埆鐢紝鍚屾椂鍙槸榪涜浜嗗ぇ鑷村湴褰掔撼錛屽叾涓殑鍝簺鍦版柟娌℃湁蹇呰鎴栧摢閲屾瑺濡ヨ繕娌℃湁鍘繪祴璇曪紝鏈涜鑰呰繘琛屾壒璇勬寚姝c?

]]>
主站蜘蛛池模板:
最近2019中文字幕免费大全5|
中文字幕手机在线免费看电影|
2021精品国产品免费观看|
亚洲人成网77777色在线播放|
美女尿口扒开图片免费
|
亚洲AV无码久久精品狠狠爱浪潮|
人妖系列免费网站观看|
深夜国产福利99亚洲视频|
免费视频精品一区二区|
亚洲午夜福利AV一区二区无码|
日韩毛片一区视频免费|
亚洲中文字幕无码不卡电影
|
高潮内射免费看片|
国产亚洲精品无码拍拍拍色欲
|
边摸边脱吃奶边高潮视频免费|
国产成人免费a在线视频色戒|
黄色三级三级三级免费看|
亚洲AV网站在线观看|
一区二区三区在线免费|
久久精品国产亚洲AV不卡|
成全视频高清免费观看电视剧|
久久精品国产亚洲AV麻豆不卡|
亚洲最大免费视频网|
亚洲熟女乱色一区二区三区
|
免费无码黄十八禁网站在线观看|
久久精品国产亚洲AV忘忧草18|
成人免费在线观看网站|
四虎国产精品成人免费久久|
国产午夜亚洲精品理论片不卡
|
亚洲a视频在线观看|
国产男女猛烈无遮挡免费网站|
a级毛片免费观看在线|
亚洲一本综合久久|
四虎成人精品一区二区免费网站|
无人视频免费观看免费视频|
亚洲成A人片在线观看无码不卡|
亚色九九九全国免费视频|
理论秋霞在线看免费|
亚洲AV永久无码区成人网站
|
亚洲精品成人网久久久久久|
99国产精品免费观看视频|