Java_web项目,URL请求地址中项目名设置为自定义变量

来源:互联网 发布:深圳行知职业技术学校 编辑:程序博客网 时间:2024/05/16 08:20

Java Web项目中,向后台请求时需要用到URL地址,一般我们是这样实现的。例如:

url:'/springmybatis/login/login',
springmybatis:是项目名

这样写可以满足我们的要求,但是这样写的话,是不是感觉有点繁琐,而且看着也不好看。所以我们可以把获取的项目名称放入到一个属性键值对中。

例如:

url:contextPath+'/login/login',//或者
url:'${Azzan}/login/login',
这样看上去更正规些。

实现代码:

package com.common;import javax.servlet.ServletContext;import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;public class AzzanApplicationConfigureFilter implements ServletContextListener {@Overridepublic void contextDestroyed(ServletContextEvent arg0) {// TODO Auto-generated method stub}@Overridepublic void contextInitialized(ServletContextEvent contextEvent) {ServletContext servletContext = contextEvent.getServletContext();servletContext.setAttribute("Azzan",servletContext.getContextPath());}}
首先创建一个类名为AzzanApplicationConfigureFilter的类并实现接口ServletContextListener。在AzzanApplicationConfigureFilter类中重写ServletContextListener中的方法。ServletContextListener中有两种方法:

1、contextInitialized(ServletContextEventcontextEvent) :当Servlet 容器启动Web 应用时调用该方法。在调用完该方法之后,容器再对Filter 初始化,并且对那些在Web 应用启动时就需要被初始化的Servlet 进行初始化。


2、contextDestroyed(ServletContextEvent contextEvent) :当Servlet 容器终止Web 应用时调用该方法。在调用该方法之前,容器会先销毁所有的Servlet 和Filter 过滤器。


在这两种方法中,我们要在contextInitialized(ServletContextEvent contextEvent) 写入我们的核心代码。


写完这个类,我们在web.xml文件中,<listener>元素用于向容器注册监听器。

实现代码:

<listener>     <listener-class>com.common.AzzanApplicationConfigureFilter</listener-class></listener>

实现了这些代码后,测试一下,可以将获取的项目名给一个变量

<script type="text/javascript">var contextPath = "${Azzan}";alert(contextPath);</script>


测试成功!

所以在写URL请求地址的时候可以写成这样:例如:

url:'${Azzan}/login/login',

或者

url:contextPath+'/login/login',

0 0
原创粉丝点击