前端jsp页面script引入url项目名使用${appName}
<script src="/${appName}/commons/jslib/CommonValue.js"></script>

新建一个com.autumn.servlet.Dispatcher.java文件
package com.autumn.servlet; import javax.servlet.ServletConfig;
import javax.servlet.ServletException; /**
* Created by Administrator on 2018/6/6.
*/
public class Dispatcher extends org.springframework.web.servlet.DispatcherServlet {
private static final long serialVersionUID = -7677752525845571027L;
@Override
public void init(ServletConfig config) throws ServletException {
super.init(config);
String appName = config.getInitParameter("appName").trim(); //web.xml中初始化参数
config.getServletContext().setAttribute("appName", appName); //将这个appName放入servletContext中
}
}
<!-- springmvc的前端控制器 -->
<servlet>
<servlet-name>bookkeep-web</servlet-name>
<servlet-class>com.autumn.servlet.Dispatcher</servlet-class> <!--原来为org.springframework.web.servlet.DispatcherServlet-->
<!-- contextConfigLocation不是必须的, 如果不配置contextConfigLocation, springmvc的配置文件默认在:WEB-INF/servlet的name+"-servlet.xml" -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/Springmvc.xml</param-value>
</init-param>
<init-param>
<param-name>appName</param-name>
<param-value>Bookkeeping</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>bookkeep-web</servlet-name>
<!-- 拦截所有请求jsp除外 -->
<url-pattern>/</url-pattern>
</servlet-mapping>
Springmvc.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-4.2.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd">
<!-- 扫描controller驱动 -->
<context:component-scan base-package="com.autumn.controller" />
<!-- 注解驱动 -->
<mvc:annotation-driven /> <!--controller返回的视图解析器,例如返回login,实际解析为http://ip:port/projectName/WEB-INF/jsp/login.jsp-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
</beans>
Controler测试
@Controller
@RequestMapping("/loginController")
public class LoginController {
@Autowired
public LoginService loginService; @RequestMapping("/login/{id}")
@ResponseBody //将返回的对象解析成json字符串
public Account login(@PathVariable String id){
Account account = loginService.login(id);
return account; //返回json字符串
} @RequestMapping("/loginpage/{id}")
public String loginpage(@PathVariable String id){
Account account = loginService.login(id);
if (account==null) {
return "login"; //返回springmvc中配置的/WEB-INF/jsp/login.jsp
}else {
return "index"; //返回springmvc中配置的/WEB-INF/jsp/index.jsp
}
}
}
其他方法
不用统一管理的${appName}可以用<base href="">标签
<base> 标签为页面上的所有链接规定默认地址或默认目标。通常情况下,浏览器会从当前文档的 URL 中提取相应的元素来填写相对 URL 中的空白。
jsp中先声明schema://server:port/contextpath/
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
然后在页面上声明base标签,指定base的url
<base href="<%=basePath%>">
这样的话页面中所有的图片或这里链接都会在schema://server:port/contextpath/下面找
前端jsp页面script引入url项目名使用${appName}的更多相关文章
- 12月6日 被引入的jsp 页面,引入 js 要注意结束符 要用 </script> 而不是 />
12月6日 被引入的jsp 页面,引入 js 要注意结束符 要用 </script> 而不是 />
- jstl-日期格式化-jsp页面需引入fmt标签
jsp页面需引入fmt标签: <taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"> ...
- JSP页面中引入另一个JSP页面
一个JSP页面中引入另一个JSP页面,相当于把另一个JSP页面的内容复制到对应位置: <%@include file="date.jsp" %> 一般页面的top和bo ...
- 后端model传入前端JSP页面中的值判断后再取值
所遇到的问题后端model传入前端JSP页面中的值通过foreach循环内要满足条件才能取值给Div中,我们知道jsp页面中可以直接用EL表达式取值,格式就是${"model中传来的数据&q ...
- Java项目在jsp页面中引入jquery框架的步骤
环境:在Java web项目中引入juqery框架 工具:MyEclipse8.5 [步骤如下] A:新建一个Java web项目TestJquery,在WebRoot目录下创建一个jquery文件 ...
- Eclipse添加jsp页面后引入java指令报错解决方法
新建jsp页面老提示: Multiple annotations found at this line: - The superclass "javax.servlet.http.HttpS ...
- jsp页面怎么引入js
人老了,容易忘记事情,再此记录 这里需要注意的是js文件夹要直接放在WebRoot或者WebContent文件夹下面,不要放在WEB-INF下面.因为TomCat对WEB-INF这个文件夹下面的资源是 ...
- 在jsp页面如何获得url参数
方法一:当一个url过来时,如:http://localhost:8080/pro/demo/hello.jsp?name=john,在hello.jsp页面,我们可以这样得到name的值: < ...
- 将Web项目访问的URL项目名设置为"/"
工具:Eclipse 步骤: 1.鼠标右键项目名--->properties--->Web Project Setting--->Context root. 将Context roo ...
随机推荐
- 使用_Capistrano_进行自动化部署(2)
之前的一篇文章是为了解决问题而写的,很多东西都没有介绍清楚,这一篇文章就是完整介绍一下 Capistrano,主要的参考来源是 Modern PHP 这本书. Capistrano 是用于自动部署应用 ...
- ES_DEVOPS-1
When dealing with a large number of parallel operations in elasticsearch, such as search requests or ...
- 8.Git撤销修改
有一个文件内容如下: $ cat README.md the first ... the second ... the third ... - 文件自修改后还没有被放到暂存区,现在,撤销修改就回到和版 ...
- oracle基于3种方法的大数据量插入更新
过程插入更新的3种方法: a.逐条检查插入或更新,同时执行插入或更新 b.逐条merge into(逐条是为了记录过程日志与错误信息) c.基于关联数组的检查插入.更新,通过forall批量sql执行 ...
- jquery 重复导入问题
$(...).bootstrapTable is not a function
- Jenkins的持续集成
持续集成:不需要人工干预,持久化.重复的运行一个任务.将代码自动的更新到最新,然后自动运行. 新建项目之前要再Jenkins的全局工具配置里面把git的路径设置好.[全局工具配置]-->[Git ...
- Websocket、长连接、循环连接
[转]转自知乎高票回答 https://www.zhihu.com/question/20215561 一.WebSocket是HTML5出的东西(协议),也就是说HTTP协议没有变化,或者说没关系 ...
- 常微分方程初值问题:多步预测-修正方法 [MATLAB]
#先上代码后补笔记# #可以直接复制粘贴调用的MATLAB函数代码!# 1. 亚当斯(Adams)预测-修正算法 由亚当斯-巴什福特(Adams-Bashforth)显式预测公式和亚当斯-莫顿(Ada ...
- Java基础教程:网络编程
Java基础教程:网络编程 基础 Socket与ServerSocket Socket又称"套接字",网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个s ...
- An error occurred: No action handlers found - check JMeterHome and libraries
An error occurred: No action handlers found - check JMeterHome and libraries Writing log file to: D: ...