开发者社区> 问答> 正文

使用springMVC搭建后台,想实现拦截所有后缀的请求,怎么办 400 请求报错 

以下是web.xml配置文件内容: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">     <display-name>Archetype Created Web Application</display-name>     <!-- 编码过滤器 -->     <filter>         <filter-name>encodingFilter</filter-name>         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>         <async-supported>true</async-supported>         <init-param>             <param-name>encoding</param-name>             <param-value>UTF-8</param-value>         </init-param>     </filter>     <filter-mapping>         <filter-name>encodingFilter</filter-name>         <url-pattern>/*</url-pattern>     </filter-mapping>     <!-- ======================================================== -->     <!-- Spring MVC Config Servlet -->     <!-- ======================================================== -->     <servlet>         <servlet-name>SpringMVC</servlet-name>         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>         <init-param>             <param-name>contextConfigLocation</param-name>             <param-value>classpath:spring-mvc.xml</param-value>         </init-param>         <load-on-startup>1</load-on-startup>     </servlet>     <!-- ======================================================== -->     <!-- Spring MVC Config Mapping -->     <!-- ======================================================== -->     <servlet-mapping>         <servlet-name>SpringMVC</servlet-name>         <url-pattern>/</url-pattern>     </servlet-mapping>     <welcome-file-list>         <welcome-file>index.html</welcome-file>     </welcome-file-list> </web-app> 以下是spring-mvc.xml配置文件内容 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context"     xmlns:mvc="http://www.springframework.org/schema/mvc"     xsi:schemaLocation="http://www.springframework.org/schema/beans                             http://www.springframework.org/schema/beans/spring-beans-3.1.xsd                             http://www.springframework.org/schema/context                             http://www.springframework.org/schema/context/spring-context-3.1.xsd                             http://www.springframework.org/schema/mvc                             http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">     <!-- 自动扫描该包,使SpringMVC认为包下用了@controller注解的类是控制器 -->     <context:component-scan base-package="com.soft.webapp.**.controller">         <!-- 扫描符合@Controller的类 -->         <context:include-filter type="annotation"             expression="org.springframework.stereotype.Controller" />     </context:component-scan>                    <mvc:annotation-driven></mvc:annotation-driven>     <!-- 定义跳转的文件的前后缀 ,视图模式配置 -->     <bean  class="org.springframework.web.servlet.view.InternalResourceViewResolver">         <property name="prefix" value="/WEB-INF/view/" />         <property name="suffix" value=".html" />         <property name="contentType" value="text/html;charset=UTF-8" />         <property name="order" value="0" />     </bean> </beans>   我还需要修改哪个地方或者追加那些配置才能实现我想要的效果??现在是控制器返回页面的时候被拦截了,怎么处理求大佬指点

展开
收起
kun坤 2020-05-29 17:58:24 1348 0
1 条回答
写回答
取消 提交回答
  • 经过不懈努力本人自己解决这个问题 出现这个问题的原因:html渲染的,要配合freemark使用,所以视图解析必须使用freemark才能渲染html(个人见解)具体配置如下:     <!-- 配置freeMarker的模板路径 -->     <bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">         <property name="templateLoaderPath" value="/WEB-INF/view/common/" />         <property name="freemarkerSettings">             <props>                 <prop key="template_update_delay">1</prop>                 <prop key="defaultEncoding">UTF-8</prop>                 <prop key="url_escaping_charset">UTF-8</prop>                 <prop key="locale">zh_CN</prop>                 <prop key="boolean_format">true,false</prop>                 <prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop>                 <prop key="date_format">yyyy-MM-dd</prop>                 <prop key="time_format">HH:mm:ss</prop>                 <prop key="number_format">0.##</prop>                 <prop key="whitespace_stripping">true</prop>                             </props>         </property>     </bean> <!-- 配置freeMarker视图解析器 -->     <bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">         <property name="viewClass" value="org.springframework.web.servlet.view.freemarker.FreeMarkerView" />         <property name="contentType" value="text/html; charset=utf-8" />         <property name="cache" value="true" />         <property name="redirectContextRelative" value="false" />         <property name="suffix" value=".html" />         <property name="order" value="1" />         <property name="requestContextAttribute" value="request" />         <property name="exposeRequestAttributes" value="true" />         <property name="exposeSessionAttributes" value="true" />         <property name="exposeSpringMacroHelpers" value="true" />         <property name="allowSessionOverride" value="true" />     </bean> <!-- jsp视图解析器视图解释类 -->     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">         <property name="prefix" value="/WEB-INF/view/jsp/" />         <property name="suffix" value=".jsp" /><!--可为空,方便实现自已的依据扩展名来选择视图解释类的逻辑 -->         <property name="order" value="1" />         <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />     </bean>######过滤器######过滤器怎么实现,求思路######配置配置配置,看见酒恶心,你不觉得恶心吗?还用什么springmvc

    ===============================

    nginx 某台机器出问题时,就使用backup 400 请求报错 

    nginx默认其它所有的非backup机器down或者忙的时候,才请求backup机器。
    能否实现3台机器负载均衡接流量,1台backup机器,当3台中某一台出现问题时,启用backup机器.

    --- 那实际上你的需求不是负载均衡(Load Balance),而是高可用(High Available)
    see: http://ajitabhpandey.info/2009/03/building-a-highly-available-nginx-reverse-proxy-using-heartbeat/ ######keepalived

    ===============================

    PHP中https的问题,如何让标签请求的url开头变成https? 400 请求报错 

    比如说标签    <a href="{:url('Xiaoqu/index')}">小区</a>   中怎么让这个标签请求的url开头是https呢,网页一直报Mixed Content错误
    求大神支招

    --- 拿到url的值把http替换成https不行么######不是一个页面啊,几百个页面######改你的url函数######你这个跟你自己的url没关系啊,要看那个你访问的域名有没有配置https啊.######你应该用的是TP5+吧 建议你查看URL你会发现url函数是相对路径 如果你觉得你要生成绝对路径不带https 建议你在app/common.php中加入一个函数

    _UrlHttps($_Url,$P){ return 'https://'.url($_Url,$P); }
     

    ===============================

    ASP.NET用C#开发时怎么么弹出对话框啊? 400 请求报错 

    假设有一个输入框(TextBox)控件,只能输入数字,如果输入了字符,就要提示出错,在网页中弹出对话框提示出错,就像javascript的alert()或confirm()那样,这个怎么做啊?

    --- http://msdn.microsoft.com/zh-cn/library/system.windows.forms.messagebox.aspx######js事件最好用jQuery绑定

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>Text Box Validation</title> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> <script type="text/javascript"> $(function () { $("#<%=NumberEditor.ClientID %>").keydown(function (e) { if ($.browser.msie) { if (((e.keyCode > 47) && (e.keyCode < 58)) || (event.keyCode == 8) || (e.keyCode>= 96 && e.keyCode <= 106)) {  // 判断键值
    return true; } else { return false; } } else { if (((e.which > 47) && (e.which < 58)) || (e.which == 8) || (event.keyCode == 17) || (e.keyCode >= 96 && e.keyCode <= 106)) { return true; } else { return false; } } }).focus(function () { this.style.imeMode = 'disabled'; }); }); </script> </head> <body> <form id="form1" runat="server"> <div> <asp:TextBox ID="NumberEditor" ClientIdMode="" runat="server"></asp:TextBox> </div> </form> </body> </html>

    ######客户端验证,还是JavaScript的事

    2020-05-29 17:58:47
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载