SpringMVC配置文件中读取环境变量

SpringMVC配置文件中读取环境变量,第1张

springMVC中获取环境变量,环境变量配置参照上一篇 <a href='https://www.jianshu.com/p/c1659240a843'>配置tomcat系统环境变量</a>

一、使用SpEL表达式(适用于spring 3.x+)

<property name="url" value="#{systemEnvironment['JDBC_URL']}" />

二、直接使用spring占位符,我用的是spring 4.0.8,亲测有效

<context:property-placeholder ignore-unresolvable="true" location="classpath:app.properties" system-properties-mode="ENVIRONMENT"/>

<property name="url" value="${JDBC_URL}" />

五、SpringMVC框架配置

进行完上面的配置,那就说明现在基本的开发环境已经搭建好了,现在要开始进行SpringMVC的网站开发。

1、web.xml配置

打开src\main\webapp\WEB-INF\下的web.xml文件,稍微更新一下web.xml的版本,可以支持更高级的一些语法,如下:

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns=" http://xmlns.jcp.org/xml/ns/javaee "

xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance "

xsi:schemaLocation=" http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd "

version="3.1">

<display-name>SpringMVCDemo Web Application</display-name>

<servlet>

<servlet-name>mvc-dispatcher</servlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>mvc-dispatcher</servlet-name>

<url-pattern>/</url-pattern>

</servlet-mapping>

</web-app>```

该servlet名为mvc-dispatcher(名称可修改),用于拦截请求(url-pattern为 / ,说明拦截所有请求),并交由Spring MVC的后台控制器来处理。这一项配置是必须的。

为了能够处理中文的post请求,再配置一个encodingFilter,以避免post请求中文出现乱码情况:

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns=" http://www.springframework.org/schema/beans "

xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance "

xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd ">

</beans>```

MVC框架有model、view、controller三部分组成。model一般为一些基本的Java Bean,view用于进行相应的页面显示,controller用于处理网站的请求。

在src\main\java中新建一个用于保存controller的package:

(1)@Controller注解:采用注解的方式,可以明确地定义该类为处理请求的Controller类;

(2)@RequestMapping()注解:用于定义一个请求映射,value为请求的url,值为 / 说明,该请求首页请求,method用以指定该请求类型,一般为get和post;

(3)return "index":处理完该请求后返回的页面,此请求返回 index.jsp页面。

回到mvc-dispatcher-servlet.xml,进行相关配置。首先加入component-scan标签,指明controller所在的包,并扫描其中的注解(最好不要复制,输入时按IDEA会在beans xmlns中添加相关内容):

<mvc:default-servlet-handler/>```

再开启springmvc注解模式,由于我们利用注解方法来进行相关定义,可以省去很多的配置:

<bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">

<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>

<property name="prefix" value="/WEB-INF/pages/"/>

<property name="suffix" value=".jsp"/>

</bean>```

关于controller如何找到视图文件,这里需要详细的说明。在 controller 的一个方法中,返回的字符串定义了所需访问的jsp的名字(如上面的index)。在jspViewResolver中,有两个属性,一个是prefix,定义了所需访问的文件路径前缀,另一是suffix,表示要访问的文件的后缀,这里为 .jsp。那么,如果返回字符串是 xxx ,SpringMVC就会找到 /WEB-INF/pages/xxx.jsp 文件。

完成以上配置后,mvc-dispatcher-servlet.xml文件如下图所示:

<%@ page contentType="text/htmlcharset=UTF-8" language="java" %>

<!DOCTYPE html>

<html lang="zh-CN">

<head>

<meta charset="utf-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge">

<meta name="viewport" content="width=device-width, initial-scale=1">

<title>SpringMVC Demo 首页</title>

<link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css">

</head>

<body>

<h1>这里是SpringMVC Demo首页</h1>

<h3>出现此页面,说明配置成功。</h3>

<script src="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>

<script src="//cdn.bootcss.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>

</body>

</html>```

选择汤姆版本,选择jdk,添加汤姆猫对应的目录

到这里整个Tomcat配置结束.

到这里就完成可以打开页面了

“spring mvc”配置文件缺少“dispatcher-servlet.xml”这个文件,建议删除全部文件然后重新 *** 作一遍即可。

“SpringMVC”的相关问题解析:

(1)访问路径URL是否正确被“spring mvc”拦截;

(2)检查<context:component-scan/>配置正确性;“Base-package”的后面如果是写成了”com.taotao.controller.*”是错误的(不带*,定位到包即可。);

(3)只有成功读取到“spring mvc”的"xml配置文件,才能让"spring容器加载"spring mvc容器,才能识别“@Controller”注解并执行标注的“Contoller”层;

(4)“web.xml”加载"spring容器“xml”的配置文件时,<param-name></param-name>之间的“contextConfigLocation”也是固定的。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存