在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
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)