日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

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

编程问答

struts2 集成webservice 的方法

發(fā)布時間:2025/3/15 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 struts2 集成webservice 的方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

由于項目需求的需要,要在原來用Struts2的框架之上集成webservice,因為之前單單做webservice的時候沒有多大問題,使用 Spring 和 Xfire就可以輕松地發(fā)布服務(wù),但是,當(dāng)和Struts2集成的時候問題確出現(xiàn)了。因為原來在web.xml中,struts2過濾了/*,即把根目錄 下得所有目錄都進行了過濾,而webservice的目錄我定義為/services/*,這樣一來,客戶端訪問該web服務(wù)的時候就被strust2過 濾器當(dāng)成無效鏈接過濾了。





問題找到了,所以解決辦法也很容易找到,有下面兩種方式:
方式一:struts2不要過濾根目錄下所有的文件目錄,可以用/*.action,/*.do,/*.jsp的形式等等。或者在鏈接action的時候創(chuàng)立一個命名空間如my,然后struts2就只過濾my/*,這樣就不會影響service/*的東西了。
方式二:感謝http://blog.csdn.net/lishengbo/article/details/5474044 提供的思路,修改struts2 dispatcher的內(nèi)容,因為dispatcher里面有個方式dofilter,他得功能是把過濾請求傳遞給下面一個過濾器,這樣就把當(dāng)前的請求放 行了。所以可以在dofilter里面做下處理,如果請求的鏈接種包含了service.那就放行,代碼如下所示:

if(request.getRequestURI().contains("services")){chain.doFilter(req,res);}

1.如果在struts2.13之前,可以用以下方法。
在web.xml里面加入了struts2的過濾類:

<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class></filter>

所以,我們要重寫這個類,可以在src下建立一個org.apache.struts2.dispatcher.FilterDispatcher類,或者自己指定一個位置,然后在web.xml中修改下對應(yīng)的struts2的對應(yīng)類即可。
我采用了方式二解決了問題。因為struts2監(jiān)聽所有的請求比較好,只對一些有要求的請求才放行。

修改后的FilterDispatcher.java的源代碼如下:

/** $Id: FilterDispatcher.java 674498 2008-07-07 14:10:42Z mrdon $** Licensed to the Apache Software Foundation (ASF) under one* or more contributor license agreements. See the NOTICE file* distributed with this work for additional information* regarding copyright ownership. The ASF licenses this file* to you under the Apache License, Version 2.0 (the* "License"); you may not use this file except in compliance* with the License. You may obtain a copy of the License at** http://www.apache.org/licenses/LICENSE-2.0** Unless required by applicable law or agreed to in writing,* software distributed under the License is distributed on an* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY* KIND, either express or implied. See the License for the* specific language governing permissions and limitations* under the License.*/package org.apache.struts2.dispatcher;import java.io.IOException; import java.util.Enumeration; import java.util.HashMap; import java.util.Map;import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import org.apache.struts2.RequestUtils; import org.apache.struts2.StrutsStatics; import org.apache.struts2.dispatcher.mapper.ActionMapper; import org.apache.struts2.dispatcher.mapper.ActionMapping; import org.apache.struts2.dispatcher.ng.filter.FilterHostConfig; import org.apache.struts2.util.ClassLoaderUtils;import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.config.Configuration; import com.opensymphony.xwork2.config.ConfigurationProvider; import com.opensymphony.xwork2.inject.Inject; import com.opensymphony.xwork2.util.ValueStack; import com.opensymphony.xwork2.util.ValueStackFactory; import com.opensymphony.xwork2.util.logging.Logger; import com.opensymphony.xwork2.util.logging.LoggerFactory; import com.opensymphony.xwork2.util.profiling.UtilTimerStack;/*** Master filter for Struts that handles four distinct* responsibilities:* <p/>* <ul>* <p/>* <li>Executing actions</li>* <p/>* <li>Cleaning up the {@link ActionContext} (see note)</li>* <p/>* <li>Serving static content</li>* <p/>* <li>Kicking off XWork's interceptor chain for the request lifecycle</li>* <p/>* </ul>* <p/>* <p/> <b>IMPORTANT</b>: this filter must be mapped to all requests. Unless you know exactly what you are doing, always* map to this URL pattern: /** <p/>* <p/> <b>Executing actions</b>* <p/>* <p/> This filter executes actions by consulting the {@link ActionMapper} and determining if the requested URL should* invoke an action. If the mapper indicates it should, <b>the rest of the filter chain is stopped</b> and the action is* invoked. This is important, as it means that filters like the SiteMesh filter must be placed <b>before</b> this* filter or they will not be able to decorate the output of actions.* <p/>* <p/> <b>Cleaning up the {@link ActionContext}</b>* <p/>* <p/> This filter will also automatically clean up the {@link ActionContext} for you, ensuring that no memory leaks* take place. However, this can sometimes cause problems integrating with other products like SiteMesh. See {@link* ActionContextCleanUp} for more information on how to deal with this.* <p/>* <p/> <b>Serving static content</b>* <p/>* <p/> This filter also serves common static content needed when using various parts of Struts, such as JavaScript* files, CSS files, etc. It works by looking for requests to /struts/*, and then mapping the value after "/struts/"* to common packages in Struts and, optionally, in your class path. By default, the following packages are* automatically searched:* <p/>* <ul>* <p/>* <li>org.apache.struts2.static</li>* <p/>* <li>template</li>* <p/>* </ul>* <p/>* <p/> This means that you can simply request /struts/xhtml/styles.css and the XHTML UI theme's default stylesheet* will be returned. Likewise, many of the AJAX UI components require various JavaScript files, which are found in the* org.apache.struts2.static package. If you wish to add additional packages to be searched, you can add a comma* separated (space, tab and new line will do as well) list in the filter init parameter named "packages". <b>Be* careful</b>, however, to expose any packages that may have sensitive information, such as properties file with* database access credentials.* <p/>* <p/>* <p/>* <p>* <p/>* This filter supports the following init-params:* <!-- START SNIPPET: params -->* <p/>* <ul>* <p/>* <li><b>config</b> - a comma-delimited list of XML configuration files to load.</li>* <p/>* <li><b>actionPackages</b> - a comma-delimited list of Java packages to scan for Actions.</li>* <p/>* <li><b>configProviders</b> - a comma-delimited list of Java classes that implement the* {@link ConfigurationProvider} interface that should be used for building the {@link Configuration}.</li>* <p/>* <li><b>loggerFactory</b> - The class name of the {@link LoggerFactory} implementation.</li>* <p/>* <li><b>*</b> - any other parameters are treated as framework constants.</li>* <p/>* </ul>* <p/>* <!-- END SNIPPET: params -->* <p/>* </p>* <p/>* To use a custom {@link Dispatcher}, the <code>createDispatcher()</code> method could be overriden by* the subclass.** @version $Date: 2008-07-07 22:10:42 +0800 (星期一, 07 七月 2008) $ $Id: FilterDispatcher.java 674498 2008-07-07 14:10:42Z mrdon $* @deprecated Since Struts 2.1.3, use {@link org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter} instead or* {@link org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter} and {@link org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter}* if needing using the {@link ActionContextCleanUp} filter in addition to this one** @see ActionMapper* @see ActionContextCleanUp* @see org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter* @see org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter* @see org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter*/ public class FilterDispatcher implements StrutsStatics, Filter {/*** Provide a logging instance.*/private Logger log;/*** Provide ActionMapper instance, set by injection.*/private ActionMapper actionMapper;/*** Provide FilterConfig instance, set on init.*/private FilterConfig filterConfig;/*** Expose Dispatcher instance to subclass.*/protected Dispatcher dispatcher;/*** Loads stattic resources, set by injection*/protected StaticContentLoader staticResourceLoader;/*** Initializes the filter by creating a default dispatcher* and setting the default packages for static resources.** @param filterConfig The filter configuration*/public void init(FilterConfig filterConfig) throws ServletException {try {this.filterConfig = filterConfig;initLogging();dispatcher = createDispatcher(filterConfig);dispatcher.init();dispatcher.getContainer().inject(this);staticResourceLoader.setHostConfig(new FilterHostConfig(filterConfig));} finally {ActionContext.setContext(null);}}private void initLogging() {String factoryName = filterConfig.getInitParameter("loggerFactory");if (factoryName != null) {try {Class cls = ClassLoaderUtils.loadClass(factoryName, this.getClass());LoggerFactory fac = (LoggerFactory) cls.newInstance();LoggerFactory.setLoggerFactory(fac);} catch (InstantiationException e) {System.err.println("Unable to instantiate logger factory: " + factoryName + ", using default");e.printStackTrace();} catch (IllegalAccessException e) {System.err.println("Unable to access logger factory: " + factoryName + ", using default");e.printStackTrace();} catch (ClassNotFoundException e) {System.err.println("Unable to locate logger factory class: " + factoryName + ", using default");e.printStackTrace();}}log = LoggerFactory.getLogger(FilterDispatcher.class);}/*** Calls dispatcher.cleanup,* which in turn releases local threads and destroys any DispatchListeners.** @see javax.servlet.Filter#destroy()*/public void destroy() {if (dispatcher == null) {log.warn("something is seriously wrong, Dispatcher is not initialized (null) ");} else {try {dispatcher.cleanup();} finally {ActionContext.setContext(null);}}}/*** Create a default {@link Dispatcher} that subclasses can override* with a custom Dispatcher, if needed.** @param filterConfig Our FilterConfig* @return Initialized Dispatcher*/protected Dispatcher createDispatcher(FilterConfig filterConfig) {Map<String, String> params = new HashMap<String, String>();for (Enumeration e = filterConfig.getInitParameterNames(); e.hasMoreElements();) {String name = (String) e.nextElement();String value = filterConfig.getInitParameter(name);params.put(name, value);}return new Dispatcher(filterConfig.getServletContext(), params);}/*** Modify state of StrutsConstants.STRUTS_STATIC_CONTENT_LOADER setting.* @param staticResourceLoader val New setting*/@Injectpublic void setStaticResourceLoader(StaticContentLoader staticResourceLoader) {this.staticResourceLoader = staticResourceLoader;}/*** Modify ActionMapper instance.* @param mapper New instance*/@Injectpublic void setActionMapper(ActionMapper mapper) {actionMapper = mapper;}/*** Provide a workaround for some versions of WebLogic.* <p/>* Servlet 2.3 specifies that the servlet context can be retrieved from the session. Unfortunately, some versions of* WebLogic can only retrieve the servlet context from the filter config. Hence, this method enables subclasses to* retrieve the servlet context from other sources.** @return the servlet context.*/protected ServletContext getServletContext() {return filterConfig.getServletContext();}/*** Expose the FilterConfig instance.** @return Our FilterConfit instance*/protected FilterConfig getFilterConfig() {return filterConfig;}/*** Wrap and return the given request, if needed, so as to to transparently* handle multipart data as a wrapped class around the given request.** @param request Our ServletRequest object* @param response Our ServerResponse object* @return Wrapped HttpServletRequest object* @throws ServletException on any error*/protected HttpServletRequest prepareDispatcherAndWrapRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException {Dispatcher du = Dispatcher.getInstance();// Prepare and wrap the request if the cleanup filter hasn't already, cleanup filter should be// configured first before struts2 dispatcher filter, hence when its cleanup filter's turn,// static instance of Dispatcher should be null.if (du == null) {Dispatcher.setInstance(dispatcher);// prepare the request no matter what - this ensures that the proper character encoding// is used before invoking the mapper (see WW-9127) dispatcher.prepare(request, response);} else {dispatcher = du;}try {// Wrap request first, just in case it is multipart/form-data// parameters might not be accessible through before encoding (ww-1278)request = dispatcher.wrapRequest(request, getServletContext());} catch (IOException e) {String message = "Could not wrap servlet request with MultipartRequestWrapper!";log.error(message, e);throw new ServletException(message, e);}return request;}/*** Process an action or handle a request a static resource.* <p/>* The filter tries to match the request to an action mapping.* If mapping is found, the action processes is delegated to the dispatcher's serviceAction method.* If action processing fails, doFilter will try to create an error page via the dispatcher.* <p/>* Otherwise, if the request is for a static resource,* the resource is copied directly to the response, with the appropriate caching headers set.* <p/>* If the request does not match an action mapping, or a static resource page,* then it passes through.** @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)*/public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {HttpServletRequest request = (HttpServletRequest) req;//System.out.println(request.getRequestURI());//System.out.println(request.getRequestURI().contains("services"));if(request.getRequestURI().contains("services")){chain.doFilter(req,res);}else{HttpServletResponse response = (HttpServletResponse) res;ServletContext servletContext = getServletContext();String timerKey = "FilterDispatcher_doFilter: ";try {// FIXME: this should be refactored better to not duplicate work with the action invocationValueStack stack = dispatcher.getContainer().getInstance(ValueStackFactory.class).createValueStack();ActionContext ctx = new ActionContext(stack.getContext());ActionContext.setContext(ctx);UtilTimerStack.push(timerKey);request = prepareDispatcherAndWrapRequest(request, response);ActionMapping mapping;try {mapping = actionMapper.getMapping(request, dispatcher.getConfigurationManager());} catch (Exception ex) {log.error("error getting ActionMapping", ex);dispatcher.sendError(request, response, servletContext, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, ex);return;}if (mapping == null) {// there is no action in this request, should we look for a static resource?String resourcePath = RequestUtils.getServletPath(request);if ("".equals(resourcePath) && null != request.getPathInfo()) {resourcePath = request.getPathInfo();}if (staticResourceLoader.canHandle(resourcePath)) {staticResourceLoader.findStaticResource(resourcePath, request, response);} else {// this is a normal request, let it pass through chain.doFilter(request, response);}// The framework did its job herereturn;}dispatcher.serviceAction(request, response, servletContext, mapping);} finally {try {ActionContextCleanUp.cleanUp(req);} finally {UtilTimerStack.pop(timerKey);}}}} } View Code

2.如果在struts2.13之后,一般不提倡再用org.Apache.struts2.FilterDispatcher,而是用org.Apache.struts2.ng.filter.StrutsPrepareAndExecuteFilter.

然后自己寫個過濾類,繼承StrutsPrepareAndExeuteFilter即可。重寫里面的doFilter方法。
web.xml里面的過濾器類片段

<filter><filter-name>struts2</filter-name><filter-class>Myfilter.MyFilter</filter-class></filter>

MyFilter.java源代碼

package Myfilter;import org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter; import org.apache.struts2.dispatcher.mapper.ActionMapping; import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException;public class MyFilter extends StrutsPrepareAndExecuteFilter{ //修改struts2 默認(rèn)的過濾器public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {HttpServletRequest request = (HttpServletRequest) req;HttpServletResponse response = (HttpServletResponse) res;System.out.println(request.getRequestURI());System.out.println(request.getRequestURI().contains("services"));if(request.getRequestURI().contains("services")) //如果是訪問webservice 這不進行過濾 {chain.doFilter(req,res);}else{try {prepare.setEncodingAndLocale(request, response);prepare.createActionContext(request, response);prepare.assignDispatcherToThread();if ( excludedPatterns != null && prepare.isUrlExcluded(request, excludedPatterns)) {chain.doFilter(request, response);} else {request = prepare.wrapRequest(request);ActionMapping mapping = prepare.findActionMapping(request, response, true);if (mapping == null) {boolean handled = execute.executeStaticResourceRequest(request, response);if (!handled) {chain.doFilter(request, response);}} else {execute.executeAction(request, response, mapping);}}} finally {prepare.cleanupRequest(request);}}}}

轉(zhuǎn)載于:https://www.cnblogs.com/longshiyVip/p/5014508.html

總結(jié)

以上是生活随笔為你收集整理的struts2 集成webservice 的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

最新国产福利 | 免费视频a | 欧美日韩天堂 | 看av免费 | 在线视频 影院 | 亚洲激情 欧美激情 | 亚洲九九九在线观看 | 免费观看mv大片高清 | 最近更新的中文字幕 | 国产一级视屏 | 国产18精品乱码免费看 | 国产精品福利午夜在线观看 | 国产精品免费成人 | 免费久久久久久久 | 奇米网在线观看 | 男女拍拍免费视频 | www国产精品com | 欧美日韩天堂 | 国产一级在线观看 | www.狠狠操.com | 婷婷中文字幕 | 久久在线精品视频 | 精品xxx| 欧美一区二区在线刺激视频 | 人成免费网站 | 国产成人精品免高潮在线观看 | www.97色.com | 麻豆 91 在线 | 国产精品久久视频 | 久久99免费 | 国产在线观看xxx | 丁香九月婷婷综合 | 又爽又黄又刺激的视频 | 四虎成人精品在永久免费 | 一二三区视频在线 | 天天干天天看 | 在线久草视频 | 久久国产精品免费视频 | 色综合中文字幕 | 成人亚洲网 | 狠狠操.com| 在线观影网站 | 国产视频在线一区二区 | 在线观看成人av | 国产午夜精品理论片在线 | 久久国产精品一二三区 | 国产精彩视频一区二区 | 久久精品99久久久久久2456 | 免费碰碰| 亚洲精品白浆高清久久久久久 | 手机在线中文字幕 | 成人精品久久久 | 激情视频久久 | 日韩精品字幕 | 久久老司机精品视频 | 99精品国产兔费观看久久99 | 久久精品视频中文字幕 | 免费在线观看日韩欧美 | 国产视频资源 | 欧美一级视频在线观看 | 成人三级网站在线观看 | 亚洲综合视频在线播放 | 亚洲精品激情 | 亚洲小视频在线观看 | 999久久 | 亚洲综合精品在线 | 日韩精品一区二区三区中文字幕 | 狠狠狠狠干| 日韩三级不卡 | 91精品啪在线观看国产81旧版 | 精品一区二区视频 | 国产无遮挡又黄又爽在线观看 | 91视频啊啊啊 | 亚洲激情p| 天天亚洲 | 日日日天天天 | 欧美一区影院 | 91精品久久久久久久99蜜桃 | 国产精品久久久网站 | 黄a网站 | 香蕉精品视频在线观看 | 亚洲三级在线 | 丁香婷婷综合五月 | 成人黄色在线观看视频 | 亚洲人成精品久久久久 | 2023av在线 | 亚洲成色777777在线观看影院 | aaa亚洲精品一二三区 | www.狠狠操.com| 国产传媒中文字幕 | 黄色av电影在线观看 | 国产91精品看黄网站 | 国产最新在线 | 手机看片福利 | 日韩在线观看一区二区三区 | 五月婷婷激情综合 | 中文字幕在线观看网址 | 韩国av免费在线观看 | 在线观看视频三级 | 免费视频 三区 | 91网页版免费观看 | a√天堂中文在线 | 国产日韩欧美视频在线观看 | 精品一区二区在线观看 | 免费在线色电影 | wwxxx日本| 九九日韩 | 精品视频久久 | 99视频在线免费看 | 国产九色91 | 在线精品亚洲一区二区 | 国产精品永久在线观看 | www.久久视频 | 在线视频 91 | 欧美超碰在线 | 成人国产网站 | 国产精品第一 | www.超碰97.com| 超碰97免费观看 | 久久极品| 国产精品久久久久久a | 国产亚洲视频在线免费观看 | 在线成人一区二区 | 91激情视频在线播放 | 天天插天天 | 中文字幕在线日亚洲9 | 日韩精品视频免费专区在线播放 | 欧美日韩另类在线 | 国产日本亚洲 | 中文字幕在线观看视频一区 | 91精品国产综合久久婷婷香蕉 | 超碰午夜| 四虎国产精品免费观看视频优播 | 午夜在线免费观看视频 | 国产91精品一区二区绿帽 | 天天色棕合合合合合合 | 欧美视频一区二 | 91黄色成人 | 欧美日韩精品二区第二页 | 国产亚洲精品久久久久久网站 | 国产精品久久久久久一区二区三区 | 久久综合操 | 日韩欧美在线不卡 | 日韩欧美在线观看一区二区三区 | 中文字幕一区二区三区四区在线视频 | 欧美久久久久久久久久久久久 | 黄色片网站av | 成人国产精品免费观看 | 蜜臀av夜夜澡人人爽人人 | 99精品在线免费在线观看 | 色婷婷导航 | 久久久久久久久久久久电影 | 黄色三级免费观看 | 天天摸天天舔 | 国产精品美女在线观看 | 91福利在线观看 | 亚洲精品理论片 | 国产91成人 | 奇米影视四色8888 | 在线观看韩国av | 中文字幕av免费在线观看 | 久久神马影院 | 最新国产精品视频 | 人人看黄色 | 在线观看v片 | 激情五月五月婷婷 | 一区在线免费观看 | 毛片美女网站 | 伊人久久在线观看 | 深夜国产在线 | 伊人久久五月天 | 精品一区二区三区在线播放 | 色视频网站免费观看 | 国产三级在线播放 | 午夜免费视频网站 | a'aaa级片在线观看 | av中文字幕第一页 | av官网 | 国产精品一区二区免费视频 | 99热在线网站 | 国产一级在线观看 | 丁香午夜 | 精品国产1区二区 | 成人a视频在线观看 | 亚洲 欧美 国产 va在线影院 | 免费日韩精品 | 日韩动漫免费观看高清完整版在线观看 | 国产黄在线 | 天天曰视频 | 在线成人短视频 | 在线蜜桃视频 | 国产免费片| 成人亚洲欧美 | 日本夜夜草视频网站 | 黄色大全免费观看 | 99亚洲精品 | 国产成人一区二区三区在线观看 | 日韩免费一级电影 | 三级黄在线 | 日韩动态视频 | 三级黄色三级 | 夜夜干夜夜 | 色播激情五月 | 日日夜夜操av | 麻豆免费在线视频 | 麻豆一区二区三区视频 | 国产成人免费网站 | 国产精品地址 | 日韩系列在线观看 | 97福利在线观看 | 在线国产小视频 | www国产亚洲精品久久网站 | 国产一区私人高清影院 | 日韩av成人在线观看 | 韩国av免费看 | 久久国色夜色精品国产 | 热re99久久精品国产99热 | 麻豆国产精品一区二区三区 | 在线免费观看麻豆视频 | 亚洲欧洲国产精品 | 日韩精品资源 | 九九欧美 | 麻豆视频91| 久久伊人热 | 日韩精品第一区 | 免费男女羞羞的视频网站中文字幕 | 精品久久一 | japanese黑人亚洲人4k | 国产黄免费在线观看 | 一级片视频免费观看 | 精品一区二区综合 | 亚洲精品乱码久久久一二三 | 中文字幕在线观看你懂的 | 成人免费观看网站 | 中文在线最新版天堂 | 一区在线观看视频 | 激情视频免费在线观看 | 中文字幕韩在线第一页 | 亚洲国内精品在线 | 99精品一级欧美片免费播放 | 国产麻豆果冻传媒在线观看 | av一级片在线观看 | 免费久久久 | 黄污视频网站 | 国产青春久久久国产毛片 | 婷婷网五月天 | 国产乱对白刺激视频在线观看女王 | 日韩精品一区二区三区免费观看视频 | av国产在线观看 | 亚洲综合精品视频 | 国产成人av综合色 | 天天夜操 | 久久精品国产亚洲精品 | 大胆欧美gogo免费视频一二区 | 亚洲精品高清视频在线观看 | 91av手机在线| www操操操| 91福利社在线观看 | 亚洲免费在线视频 | 久久国产精品99久久久久久丝袜 | 国产黄色精品在线观看 | 久久亚洲视频 | 亚洲成色 | 免费在线观看成年人视频 | 国产精品theporn| 日韩乱色精品一区二区 | 中文字幕网址 | 久久人人爽人人爽人人片 | 亚洲va欧美va人人爽春色影视 | 亚洲欧美精品一区二区 | 欧洲一区二区在线观看 | 色婷婷播放 | 粉嫩高清一区二区三区 | 日日夜夜干 | 久久视讯 | 日韩在线观看小视频 | 菠萝菠萝蜜在线播放 | 激情五月色播五月 | 成人 国产 在线 | wwxxx日本| 国产1级毛片 | 综合色综合色 | 日韩精品三区四区 | 久草在线观看资源 | 久久五月婷婷综合 | 日韩在线一级 | 2020天天干夜夜爽 | 天堂av在线中文在线 | 久久免费视频网站 | 人人澡人人舔 | 黄色精品一区二区 | 夜夜夜夜夜夜操 | 国产精品自产拍在线观看桃花 | 97精品欧美91久久久久久 | 三级视频片 | 久99久久 | 日韩免费一二三区 | www.狠狠操.com| av中文字幕在线观看网站 | 日本高清xxxx | 三级黄在线 | 国产精品91一区 | 久久久国产精品网站 | 四虎伊人 | 激情综合网五月激情 | 五月婷婷色综合 | 91精品综合在线观看 | 亚洲va天堂va欧美ⅴa在线 | 日日干日日色 | 久久免费看 | 一级黄色电影网站 | 成人国产精品免费观看 | 91少妇精拍在线播放 | 国产精品99久久久久久人免费 | 免费a v视频 | 五月婷婷中文字幕 | 亚洲久草视频 | 日本护士三级少妇三级999 | 女人18毛片90分钟 | av在线进入 | 欧美乱熟臀69xxxxxx | 在线国产视频 | 免费看黄在线看 | 永久中文字幕 | 国产精品久久久久av | 波多野结衣在线播放一区 | 久久久亚洲国产精品麻豆综合天堂 | www.久久com | 激情影院在线观看 | 黄色小网站免费看 | 日本不卡一区二区三区在线观看 | 国产精品久久精品 | 在线观看一区二区视频 | 性色xxxxhd | 国产在线精品播放 | 国产精品一区二区久久国产 | 人人草天天草 | 久久久麻豆视频 | 欧美日韩视频网站 | 国产成年免费视频 | 91精品免费在线视频 | 亚洲伦理中文字幕 | 国产精品成人久久久久 | 五月天丁香亚洲 | 色停停五月天 | 一区二区三区免费在线播放 | 日日夜夜网 | 久久亚洲私人国产精品va | 中文字幕在线观看网 | 精品黄色在线观看 | 欧美另类高潮 | 精品久久网| 丁香午夜婷婷 | 欧美a√大片 | av看片网 | 亚洲国产精品女人久久久 | 国产成人99久久亚洲综合精品 | 美女网站视频一区 | 国产精品精品久久久 | 亚洲一区二区三区在线看 | 一区二区三区韩国免费中文网站 | 成人av手机在线 | 日韩欧美极品 | 丁香激情五月婷婷 | 国产免费三级在线观看 | 国产视频在线免费 | 亚洲免费在线播放视频 | 欧美日韩精品在线观看视频 | 91麻豆网站 | 成人中文字幕av | 香蕉久久久久久av成人 | 国产精品一区二区三区在线看 | 毛片精品免费在线观看 | 一级黄色网址 | 精品婷婷 | 国产99久久久国产精品免费看 | 91chinese在线| 久久这里只有精品视频首页 | 久久视频网址 | 91少妇精拍在线播放 | 日韩欧美高清在线观看 | 成人免费91 | 久操伊人 | 国产免费叼嘿网站免费 | 成人免费网视频 | 91在线视频免费 | 久99视频 | www视频免费在线观看 | 国产一区电影在线观看 | 久久久官网 | 婷婷丁香狠狠爱 | 色999视频 | 欧美日韩大片在线观看 | 免费在线激情电影 | 久久久国产精品人人片99精片欧美一 | 欧美精品免费在线观看 | 天天综合狠狠精品 | 91网页版在线观看 | 在线草 | 中文字幕成人一区 | 一级欧美日韩 | 欧美网站黄色 | 婷婷丁香色 | 日韩免费高清在线 | 蜜桃久久久 | 欧美综合干| 国产精品亚洲综合久久 | 欧美激情精品久久久久久免费 | 在线国产一区 | 综合五月 | 久久综合九色综合97_ 久久久 | 国产精品18久久久久白浆 | 日韩毛片精品 | 黄色片网站免费 | 久久久久久久久久久免费视频 | 久久久电影网站 | 中文字幕二区在线观看 | 国产品久精国精产拍 | 欧美日韩精品免费观看 | 午夜国产一区二区三区四区 | 精品国产一区二区久久 | 日韩精品一区二区在线观看 | 九色精品免费永久在线 | 日日干天天插 | 美女视频黄在线 | 日韩在线视频不卡 | 美女视频久久久 | 成人全视频免费观看在线看 | 福利一区二区在线 | 夜夜天天干 | 丁香网婷婷 | 99这里有精品 | 久久五月网 | 亚洲精品国产欧美在线观看 | 91九色精品国产 | 亚洲一区免费在线 | 五月天综合色激情 | 国产精品高潮呻吟久久久久 | 一级成人在线 | 24小时日本在线www免费的 | 国产精品va在线观看入 | 亚洲在线观看av | 久色免费视频 | 精品国产免费观看 | 成人久久毛片 | 成人av播放| 久草爱 | 精品久久久久久国产91 | 91精品999| 一二三精品视频 | 亚洲va男人天堂 | 99久久夜色精品国产亚洲 | 日韩视频1区 | 欧美激情精品久久久久 | 欧美激情综合五月 | 国产视频久久久久 | 在线色亚洲| 成人精品视频 | 欧美日韩国产页 | 国产手机在线观看视频 | 日日躁你夜夜躁你av蜜 | 九九99视频 | 久草在线高清视频 | 天天干天天草天天爽 | 摸bbb搡bbb搡bbbb | 色狠狠久久av五月综合 | 日韩激情在线视频 | 日韩免费一级a毛片在线播放一级 | 久久人人爽爽人人爽人人片av | 欧美人牲 | 久久精品国产成人 | 成人在线视频免费看 | 伊人宗合网 | 一区二区三区www | 色视频 在线| 黄色软件大全网站 | 黄色毛片大全 | 日韩高清 一区 | 色就干| 四虎成人精品永久免费av | 日韩电影一区二区在线观看 | 在线观看视频你懂得 | 午夜国产影院 | 激情欧美一区二区三区 | 99热国产在线观看 | 日韩中文字幕a | av在线电影网站 | 欧美一级久久久 | 亚洲爱av | 久久在线免费视频 | 永久免费精品视频网站 | 一区二区三区在线播放 | 国产亚洲在 | 国产成人精品av久久 | 观看免费av | 精品久久久久久久久久 | 国产精品精品国产婷婷这里av | 国产成人精品久久二区二区 | 色天天综合久久久久综合片 | 国产小视频免费在线网址 | 欧美精品在线观看一区 | 国产精品专区在线观看 | www天天操 | 中文一区二区三区在线观看 | 天天操夜夜逼 | 亚洲精品视频免费在线 | 97在线观视频免费观看 | 久久99久久99精品免观看粉嫩 | 久草资源免费 | 久久久国产精品麻豆 | 成 人 黄 色 视频 免费观看 | 国产99久久久国产精品免费看 | 日韩免费电影网站 | 精品自拍av | 在线免费观看不卡av | 热99在线视频 | 亚洲国产色一区 | 中文字幕资源网在线观看 | 欧美一级在线观看视频 | 久久免费99精品久久久久久 | 日本黄色免费网站 | 不卡视频在线 | 国产精品久久一卡二卡 | 四虎欧美| 久久久亚洲网站 | 五月天狠狠操 | 九九精品久久 | 日韩网站在线 | 日韩成人免费在线 | 久草在线视频网 | 日韩中文字幕在线看 | 7777xxxx| 精品一区二区在线免费观看 | 国产99一区视频免费 | 免费视频99 | a视频在线观看免费 | 天天摸日日操 | 在线电影a | 91在线影视 | 国产色视频一区 | 日韩精品一二三 | 91免费高清在线观看 | 草久在线观看视频 | 精品国产一区二区三区不卡 | 日日夜夜噜噜噜 | 国产亚洲久一区二区 | 天天拍天天草 | 成人黄色片免费看 | 国产午夜亚洲精品 | www.精选视频.com | 欧美日本不卡高清 | 国内精品久久久久久久影视麻豆 | 国产在线理论片 | 97超碰免费在线 | 人人爱人人射 | 国产精品久久久久久久久久久免费看 | 精品视频www | 日韩精品久久中文字幕 | 日韩电影黄色 | 99久久夜色精品国产亚洲96 | 欧美一二三在线 | 99成人精品 | 亚洲国产网站 | 天天爽夜夜爽精品视频婷婷 | 在线观看国产www | 婷婷四房综合激情五月 | 99久久精品国产一区 | 91精品一区二区三区蜜桃 | 免费一级片在线观看 | 九九九在线 | a久久久久久 | 亚洲免费高清视频 | av中文在线播放 | av专区在线| 亚州精品在线视频 | 西西44人体做爰大胆视频 | 久久久91精品国产一区二区精品 | 免费看一及片 | 一区二区精品 | 美女免费视频一区二区 | 精品在线一区二区三区 | 色播五月激情综合网 | 久久久久国产一区二区三区四区 | 美国三级黄色大片 | 久草网在线观看 | 久草在线在线精品观看 | 亚洲人成综合 | av免费网站在线观看 | 国产最顶级的黄色片在线免费观看 | 欧美激情视频在线观看免费 | 黄色免费网站下载 | 国产精品18久久久久vr手机版特色 | 欧美大荫蒂xxx | 亚洲免费小视频 | 激情视频免费观看 | 97天天综合网 | 97超碰中文字幕 | 91手机视频 | 欧美在线视频一区二区 | 天天操天天插 | 日韩精品中文字幕在线播放 | 97视频网址| 国产视频色| 亚洲在线成人精品 | 国产精品18久久久久vr手机版特色 | 日韩精选在线观看 | 日韩高清片 | 精品一区二区免费在线观看 | 中文字幕一区二区三区久久 | 欧美黑人性爽 | 在线视频麻豆 | av在线免费在线观看 | 亚洲精品在线资源 | 久久超级碰视频 | www在线免费观看 | 人人狠狠综合久久亚洲 | 一区二区三区电影在线播 | 国语自产偷拍精品视频偷 | 黄色福利视频网站 | 国产一级在线看 | 亚洲免费国产 | 日日日日日 | 久久综合影院 | 欧美日韩中文字幕综合视频 | 久草视频国产 | 中文字幕 国产视频 | 久久久福利视频 | 免费视频在线观看网站 | 69国产精品视频免费观看 | 久久99热久久99精品 | 香蕉视频在线看 | 国产一区在线视频播放 | 日日躁夜夜躁aaaaxxxx | 毛片精品免费在线观看 | 欧美在线观看禁18 | 99精品国产99久久久久久福利 | 国产精品二区在线观看 | 91久久奴性调教 | 欧美夫妻生活视频 | 日韩字幕 | 中文字幕在线资源 | 99视频在线精品免费观看2 | 97色免费视频 | 粉嫩av一区二区三区四区 | 韩日在线一区 | 在线色亚洲 | 成人av网站在线观看 | 在线视频观看你懂的 | 国产免费亚洲高清 | 国产精品xxxx18a99 | 国产视频美女 | 亚洲精品国产精品国自产 | 91视频首页| 亚洲黄色免费观看 | 欧美日韩久久一区 | 亚洲国产免费看 | 五月天伊人 | 在线观看免费中文字幕 | 狠狠狠狠狠色综合 | 免费能看的av | 国产一区二区三区 在线 | 麻豆一精品传二传媒短视频 | 欧美日韩国产综合一区二区 | av中文字幕免费在线观看 | 亚洲视频久久久 | 97av精品 | 午夜丰满寂寞少妇精品 | 亚洲日日夜夜 | 久久论理 | 99在线观看精品 | 久久视频二区 | 国产精品永久免费在线 | 丝袜精品视频 | 激情综合国产 | 免费看一级| 欧美另类激情 | 99精品视频一区二区 | 六月激情| 久久精品免费电影 | 三级黄色免费 | 亚洲伊人婷婷 | 国色天香永久免费 | 午夜视频免费播放 | 久久99日韩 | 中文字幕在线观看第一区 | 成人性生交大片免费看中文网站 | www日韩在线观看 | 日本资源中文字幕在线 | 中文字幕高清视频 | 国产在线视频一区二区 | 日韩在线免费不卡 | 在线观看亚洲免费视频 | 伊人欧美| 亚洲国内精品视频 | 在线观看av麻豆 | 久久在线 | 国产欧美综合视频 | 国产精品国产亚洲精品看不卡15 | 一级一片免费视频 | 久久精品一区二区三区四区 | 国产一区二区在线免费播放 | 91在线视频免费播放 | 在线观看www91 | 天天操人人干 | 西西www4444大胆在线 | 五月天伊人 | av免费在线播放 | 黄色三级免费片 | 99在线热播精品免费 | 亚洲在线视频免费观看 | 欧美日韩网址 | 久久人人爽人人爽 | 成人av免费看 | 成年人毛片在线观看 | 免费网站看v片在线a | 久久影院亚洲 | 在线天堂中文www视软件 | 韩国av免费观看 | 麻豆mv在线观看 | 91免费观看视频网站 | 亚洲精品久久久蜜桃 | a天堂最新版中文在线地址 久久99久久精品国产 | 亚洲一级电影在线观看 | 久草在线手机观看 | 国产成人福利在线观看 | 91av短视频 | 亚洲色图激情文学 | 91精品视频免费观看 | 国产精品日韩在线观看 | bbbbb女女女女女bbbbb国产 | 日韩欧美视频免费观看 | av网站大全免费 | 午夜精品av | 五月开心激情网 | 午夜精品视频一区 | 中文字幕视频免费观看 | 亚洲人视频在线 | 又黄又刺激视频 | 久久精品4 | 激情视频二区 | 一区二区精品视频 | 久久久福利视频 | 亚洲精品视频二区 | 国产 在线观看 | av在线不卡观看 | 亚洲 成人 欧美 | 欧美日视频 | 91干干干| 91在线中文 | av看片在线观看 | 久久精品91视频 | 亚洲成av人片在线观看 | 丁香花中文在线免费观看 | 日韩大片在线免费观看 | 国内偷拍精品视频 | 久久久综合九色合综国产精品 | 丁香六月激情 | 99精品在线视频播放 | 亚洲电影图片小说 | 久久久国产精品人人片99精片欧美一 | 国产精品对白一区二区三区 | 草久久久久久久 | 亚洲精品av中文字幕在线在线 | 五月婷婷丁香六月 | 久久精品激情 | 免费黄色激情视频 | 午夜国产一区二区三区四区 | 久久久91精品国产一区二区三区 | 亚洲国产美女精品久久久久∴ | 久久亚洲美女 | 精品国产成人在线影院 | av成人资源 | 欧美在线aa | 天天躁天天狠天天透 | 91在线产啪| 久久久久久久久久久网 | 超碰在线人人艹 | 91视频最新网址 | 五月婷婷导航 | 国产1区2 | 日韩精品免费一线在线观看 | 国产一级片久久 | 亚洲综合色站 | 国产亚洲免费的视频看 | 国产福利免费看 | 国产精品久久久区三区天天噜 | 久久国产精品一区二区三区四区 | www.97色.com| 久久国产精品一区二区三区四区 | 夜夜操狠狠操 | www.夜夜草| 国产精品剧情在线亚洲 | 六月丁香在线视频 | 亚洲欧洲精品一区 | 欧美激情第八页 | 欧美日韩中文另类 | 中文字幕 国产专区 | 久久五月天综合 | 中文字幕乱在线伦视频中文字幕乱码在线 | 国产精品视频999 | 亚洲精品午夜久久久久久久 | 日韩区在线观看 | 久久亚洲综合国产精品99麻豆的功能介绍 | 国产精品久久网站 | 免费看91的网站 | 亚洲欧美国产视频 | 天天操网址 | 国产视频午夜 | 天天躁日日躁狠狠躁av麻豆 | 四虎影视精品成人 | 91视频-88av| 日韩av电影网站在线观看 | 久久久三级视频 | 美女网站视频免费都是黄 | 综合网五月天 | 中文字幕你懂的 | 久久精品一级片 | japanesefreesex中国少妇 | 一区二区三高清 | 欧美专区日韩专区 | 久草视频在线资源 | 国产原创在线视频 | av一级黄| 色综合 久久精品 | 成人免费在线视频观看 | 亚洲aaa级| av中文字幕日韩 | 国产日韩中文字幕在线 | 91在线入口 | 欧美人人爱 | 亚洲欧美视频在线播放 | 久久久久久影视 | 精品久久精品久久 | 久久在线视频在线 | 一本一本久久a久久精品综合 | 在线探花 | 国产精品毛片一区二区 | 亚洲视频免费视频 | 人人爱爱人人 | 久久久久久久综合色一本 | 伊人国产女 | 久久精品国产成人 | 久久精品网址 | 国产精品乱码高清在线看 | 欧美日韩视频在线播放 | 国产字幕在线观看 | 久久精品99久久 | 国产91精品一区二区 | 国产精品永久在线观看 | 久久成视频 | 四虎最新入口 | 在线视频日韩 | 99超碰在线观看 | 久久免费99精品久久久久久 | av天天干 | 激情av资源 | 天天干天天天 | www.天天操 | 91麻豆精品国产91久久久无需广告 | 婷婷亚洲激情 | 免费网站在线观看人 | 中文字幕免费观看视频 | 91九色蝌蚪国产 | 国产精品99久久久久人中文网介绍 | 国产一区视频在线观看免费 | 99在线精品免费视频九九视 | 91久久电影 | 欧美人人 | 91综合久久一区二区 | 四虎成人精品永久免费av | 81国产精品久久久久久久久久 | 天天射天天射天天 | av高清一区 | 天天干天天干天天色 | japanesefreesexvideo高潮| 久久精品免费观看 | 日日操狠狠干 | 免费福利片 | 婷婷在线免费观看 | 亚洲黄色软件 | 日韩在线第一区 | 久久国产精品99久久久久久进口 | 国产精品一区二区三区在线 | 毛片1000部免费看 | 亚洲综合视频在线观看 | 国产精品嫩草影院123 | 91成人精品视频 | 国产精品精品久久久久久 | 天天爱天天操天天干 | 久久视频在线观看 | 婷婷丁香视频 | 97在线超碰 | 伊人久久电影网 | 日韩在线免费观看视频 | 久久人人爽av | 成年人免费看的视频 | 成人免费ⅴa | 成人羞羞视频在线观看免费 | 精品理论片 | 不卡的av在线 | 精品福利网 | 四虎最新域名 | 激情综合五月 | 国产欧美久久久精品影院 | 91九色视频导航 | 天天爽夜夜爽精品视频婷婷 | 国产成人免费精品 | 精品一区二区三区久久 | 98超碰在线 | 91精品国产福利在线观看 | 99精品免费久久久久久久久 | 在线观看91久久久久久 | 在线va视频 | 国产精品福利午夜在线观看 | 亚洲国产成人精品久久 | 综合久久综合久久 | 日韩欧美高清不卡 | 中文字幕国内精品 | 97超在线视频 | 亚洲经典精品 | 国产精品国产三级国产专区53 | 五月婷婷丁香 | 久久涩涩网站 | 久久狠狠婷婷 | 成人电影毛片 | 人人澡人人添人人爽一区二区 | av中文字幕在线播放 | 日韩在线在线 | 91av99| 国产不卡一 | 一区中文字幕 | 三级av在线免费观看 | 一区二区三区久久精品 | 免费在线观看av不卡 | 亚洲精品理论 | 波多野结衣一区 | 视频在线观看入口黄最新永久免费国产 | 中中文字幕av在线 | 欧美一二在线 | 成 人 免费 黄 色 视频 | 国内免费的中文字幕 | 夜色资源站国产www在线视频 | 婷婷综合伊人 | 人人玩人人添人人 | 精品国偷自产国产一区 | 国产真实在线 | 韩国视频一区二区三区 | 久久成人国产精品入口 | 粉嫩aⅴ一区二区三区 | 国产一二区在线观看 | 欧美一级片播放 | 国产xx视频| 最近中文字幕国语免费高清6 | 日日操夜 | 日本深夜福利视频 | 又黄又爽又无遮挡的视频 | 在线综合 亚洲 欧美在线视频 | 国产中文字幕一区 | 久久久www成人免费毛片麻豆 | 女人18片毛片90分钟 | 久久久久久久18 | 国内少妇自拍视频一区 | 手机av在线不卡 | 在线免费黄网站 | 热久久免费视频精品 | 国产精品久久久久一区 | 国产白浆视频 | 天天操一操 | 草在线| 免费美女久久99 | 日本aa在线 | 中文有码在线 | 91亚洲国产| 国产色视频一区二区三区qq号 | 欧美视频在线观看免费网址 | 久久中文字幕在线视频 | 一区二区三区免费在线观看视频 | 伊人五月综合 | 不卡的av电影 | 国精产品999国精产品视频 | 岛国av在线免费 | 国产中文字幕av | 国产精品你懂的在线观看 | 国产精品久久三 | 免费a现在观看 | 狠狠狠狠狠狠狠狠 | 在线观看视频一区二区三区 | 黄色大全在线观看 | 丁香色婷婷| 操操操日日 | 综合久久影院 | 国产色在线视频 | 亚洲免费公开视频 | 一二三区高清 | 国产精品免费观看网站 | 久久艹99 | 亚洲欧美视屏 | 黄色免费观看网址 |