web.xml中相关配置

web.xml中相关配置,第1张

在web.xml中通过contextConfigLocation配置spring,contextConfigLocation参数定义了要装入的 Spring 配置文件

部署applicationContext.xml文件

如果不写任何参数配置,默认的是在/WEB-INF/applicationContext.xml

如果指定了要加载的文件,则会去加载相应的xml,而不会去加载/WEB-INF/下的applicationContext.xml。如果没有指定的话,默认会去/WEB-INF/下加载applicationContext.xml。

如果想要自定义文件名,需要在web.xml中加入contextConfigLocation这个context参数

springmvc的默认配置文件是放在WEB-INF下的,并且要命名为 -servlet.xml, 为servlet—name,即下文中的"Springmvc"

web.xml文件中webAppRootKey属性是web项目的绝对路径,默认值是webApp.root,可以通过System.getProperty(“webApp.root”)来获取属性值或者在配置文件中通过${webApp.root}获得。

Spring通过 org.springframework.web.util.WebAppRootListener 这个监听器来注入项目路径,因此部署在同一个web容器中的项目,要配置不同的param-value(比如”项目名.root”),不然会造成冲突。但是如果在web.xml中已经配置了org.springframework.web.util.Log4jConfigListener这个监听器,则不需要配置WebAppRootListener了。因为Log4jConfigListener已经包含了WebAppRootListener的功能。WebAppRootListener要在ApplicationContext的ContextLoaderListener之前,否则ApplicationContext的bean注入根目录值时会发生无法注入异常。

"webapp.root"这个字符串可以随便写任何字符串。如果不配置默认值是"webapp.root"。

可以用System.getProperty("webapp.root")来动态获项目的运行路径。

一般返回结果例如:/usr/local/tomcat6/webapps/项目名

定义以后,在Web Container启动时将把ROOT的绝对路径写到系统变量里。

然后log4j的配置文件里就可以用${webName.root }来表示Web目录的绝对路径,把log文件存放于webapp中。

此参数用于后面的“Log4jConfigListener”-->

正确。web.xml配置cookie是正确的,这个的作用是让页面的js无法读取到cookie, 是一种保护措施。web.xml是web项目的配置文件,一般的web工程都会用到web.xml来配置,主要用来配置Listener,Filter,Servlet等。

你直接写个过滤类就可以了(使用 filter  的3个方法  你懂得)

package com.enation.eopimport java.io.BufferedReaderimport java.io.IOExceptionimport java.io.InputStreamimport java.io.InputStreamReaderimport java.io.PrintWriterimport java.util.Collectionimport java.util.Dateimport java.util.Listimport java.util.Localeimport javax.servlet.Filterimport javax.servlet.FilterChainimport javax.servlet.FilterConfigimport javax.servlet.ServletExceptionimport javax.servlet.ServletOutputStreamimport javax.servlet.ServletRequestimport javax.servlet.ServletResponseimport javax.servlet.http.Cookieimport javax.servlet.http.HttpServletRequestimport javax.servlet.http.HttpServletResponseimport com.enation.eop.processor.back.BackendProcessorimport com.enation.eop.processor.core.freemarker.FreeMarkerPaserimport com.enation.eop.processor.facade.FacadeProcessorimport com.enation.eop.processor.facade.InstallProcessorimport com.enation.eop.processor.facade.ResourceProcessorimport com.enation.eop.resource.IAppManagerimport com.enation.eop.resource.model.EopAppimport com.enation.eop.sdk.context.EopContextimport com.enation.eop.sdk.context.EopContextIniterimport com.enation.eop.sdk.context.EopSettingimport com.enation.framework.context.spring.SpringContextHolderimport com.enation.framework.context.webcontext.ThreadContextHolderpublic class DispatcherDemoFilter implements Filter {    public void init(FilterConfig config) {

}

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

//        HttpServletRequest  req= ServletActionContext.getRequest()//        String  flag= req.getHeader("X-Requested-With")//            HttpServletResponse   response  = ServletActionContext.getResponse()

String ip = ((HttpServletRequest) request).getHeader("x-forwarded-for")       if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)){

ip = ((HttpServletRequest) request).getHeader("Proxy-Client-IP")

}        if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)){

ip = ((HttpServletRequest) request).getHeader("WL-Proxy-Client-IP")

}        if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)){

ip = request.getRemoteAddr()

}

String authtoken = request.getParameter("auth-token")

System.out.println(authtoken)

StringBuffer sb = new StringBuffer()

InputStream is = request.getInputStream()

InputStreamReader isr = new InputStreamReader(is)

BufferedReader br = new BufferedReader(isr)

String s = ""

while((s=br.readLine())!=null){

sb.append(s)

}

System.out.println(sb)

String str =sb.toString()

System.out.println(ip+"时间"+new Date().getTime())       //response.setCharacterEncoding("utf-8")

response.setContentType("application/xml")

String write = "<cart><items><item feed-id=\"449573\" offer-id=\"15\" price=\"825\" count=\"1\" delivery=\"true\"/>" +

"</items><delivery-options><delivery service-name=\"Курьер\" type=\"DELIVERY\" price=\"1490.00\">" +

"<dates from-date=\"24-10-2016\" to-date=\"26-10-2016\"/></delivery>" +

"</delivery-options><payment-methods>" +

"<payment-method>CASH_ON_DELIVERY</payment-method></payment-methods></cart>"

System.out.println(write)

response.getWriter().write(write)

}    public void destroy() {

}

private static boolean isExinclude(String uri) {

String[] exts = new String[] { "jpg", "gif", "js", "png", "css", "doc", "xls", "swf","ico" }

for (String ext : exts) {            if (uri.toUpperCase().endsWith(ext.toUpperCase())) {                return true

}

}        return false

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11496339.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存