springmvc中怎么从配置文件中读取信息

springmvc中怎么从配置文件中读取信息,第1张

在使用hibernate或者spring的时候,我们往往通过配置文件配置数据库连接属性。但这次项目中并没有用到hibernate和spring,只用到了struts2。要如何实现通过读取文件配置获取属性值呢?

方式一:ResourceBundle这个类可是实现读取properties文件来获取值

在java中:

public class ResourceBundleReader {

public final static Object initLock = new Object();

private final static String PROPERTIES_FILE_NAME = "property";

private static ResourceBundle bundle = null;

static {

try {

if (bundle == null) {

synchronized (initLock) {

if (bundle == null)

bundle = ResourceBundlegetBundle(PROPERTIES_FILE_NAME,LocaleCHINA);

}

}

} catch (Exception e) {

Systemoutprintln("读取资源文件property_zhproperties失败!");

}

}

public static ResourceBundle getBundle() {

return bundle;

}

public static void setBundle(ResourceBundle bundle) {

bundle = bundle;

}

}

在properties文件中:

driverName=commysqljdbcDriver

url=xxxxx/:3307/9zgame

user=root

password=xxxxxx

文件名字为:property_zhproperties。后zh根据LocaleCHINA一致的,如果LocaleENGLISH,则文件名为:property_enproperties

方式二:使用commons组件。

这个是severlet的东西,你在webxml应该配置了一个过滤器。如果没有,spring好像也可以产生过滤器了,至少springboot我用过。

每个请求都有request和response,默认的情况下,使用spring后,是直接传给spring去处理了。

你添加过滤器后,这个请求先到了filter里面,你把filter拿到的request和response做了一次封装后,使用dofilter继续执行。

dofilter之后,response就是请求之后应该返回的结果,对它处理就可以统一改变返回值。

你的应该是Spring获得数据库连接对象的类。

(SpringFramework504RELEASEAPI)

在Java数据库 *** 作的框架中,不论是Spring,Struts,或者你自己写的连接控制也不管你是否集成连接池,比如说C3P0。

一般来说,都是先要获得数据库的链接。

在这里你的连接在Connection里面。

获得连接后才能对数据库进行 *** 作。

1:SSM框架搭建环境

Spring、SpringMVC、mybatis添加上我们需要的jar包

2:编写数据库sql,创建表

创建数据库表了

3:连接数据库

dataSourcedriverClass=commysqljdbcDriver

dataSourcejdbcUrl=jdbc:mysql://127001:3306/works

dataSourceuser=root

dataSourcepassword=195631

dataSourcemaxPoolSize=20

dataSourcemaxIdleTime=1000

dataSourceminPoolSize=6

dataSourceinitialPoolSize=5

4:写java代码,分层

控制层、业务层、数据库层、数据层

5: 写jsp页面

6:Spring的配置文件

<!-- mybatis:scan会将orgfkitmapper包里的所有接口当作mapper配置,之后可以自动引入mapper类-->

<mybatis:scan base-package="comcyMapper" />

<!-- 扫描comwyq包下面的java文件,有Spring的相关注解的类,则把这些类注册为Spring的bean -->

<context:component-scan base-package="comcy" />

<!-- 使用PropertyOverrideConfigurer后处理器加载数据源参数 -->

<context:property-override location="classpath:dbproperties"/>

<!-- 配置c3p0数据源 -->

<bean id="dataSource" class="commchangev2c3p0ComboPooledDataSource"/>

<!-- 配置SqlSessionFactory,orgmybatisspringSqlSessionFactoryBean是Mybatis社区开发用于整合Spring的bean -->

<bean id="sqlSessionFactory" class="orgmybatisspringSqlSessionFactoryBean"

p:dataSource-ref="dataSource"/>

<!-- JDBC事务管理器 -->

<bean id="transactionManager"

class="orgspringframeworkjdbcdatasourceDataSourceTransactionManager"

p:dataSource-ref="dataSource"/>

<!-- 启用支持annotation注解方式事务管理 -->

<tx:annotation-driven transaction-manager="transactionManager" />

</beans>

7:springmvc的配置文件

<!-- 自动扫描该包,SpringMVC会将包下用了@controller注解的类注册为Spring的controller -->

<context:component-scan base-package="comwyqController" />

<!-- 设置默认配置方案 -->

<mvc:annotation-driven />

<!-- 使用默认的Servlet来响应静态文件比如css、html、js等文件 -->

<mvc:default-servlet-handler />

<!-- 视图解析器 -->

<bean id="viewResolver" class="orgspringframeworkwebservletviewInternalResourceViewResolver">

<!-- 前缀 -->

<property name="prefix">

<value>/WEB-INF/pages/</value>

</property>

<!-- 后缀 -->

<property name="suffix">

<value>jsp</value>

</property>

</bean>

8:webxml配置

<!-- 配置spring核心监听器,默认会以 /WEB-INF/applicationContextxml作为配置文件 -->

<listener>

<listener-class>orgspringframeworkwebcontextContextLoaderListener</listener-class>

</listener>

<!-- contextConfigLocation参数用来指定Spring的配置文件 -->

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>/WEB-INF/applicationContextxml</param-value>

</context-param>

<!-- 定义Spring MVC的前端控制器 -->

<servlet>

<servlet-name>springmvc</servlet-name>

<servlet-class>

orgspringframeworkwebservletDispatcherServlet

</servlet-class>

<init-param>

<param-name>contextConfigLocation</param-name>

<param-value>/WEB-INF/springmvc-configxml</param-value>

</init-param>

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

</servlet>

<!-- 让Spring MVC的前端控制器拦截所有请求 -->

<servlet-mapping>

<servlet-name>springmvc</servlet-name>

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

</servlet-mapping>

<!-- 编码过滤器 -->

<filter>

<filter-name>characterEncodingFilter</filter-name>

<filter-class>orgspringframeworkwebfilterCharacterEncodingFilter</filter-class>

<init-param>

<param-name>encoding</param-name>

<param-value>UTF-8</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>characterEncodingFilter</filter-name>

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

</filter-mapping>

</web-app>

在 我们的项目中遇到这样一个问题:我们的项目需要连接多个数据库,而且不同的客户在每次访问中根据需要会去访问不同的数据库。我们以往 在 spring 和 hibernate 框架中总是配置一个数据源,因而 sessionFactory 的dataSource 属性总是指向这个

在springmvc中controller的结果集可通过json格式传到js前端接受,也可以通过Map传给前端,具体实现如下

1,通过json格式传递

controller层实现如下

@RequestMapping("queryCityInfo")

@ResponseBody

public String queryCityInfo()throws Exception{

String provinceId = getString("id");

@SuppressWarnings("rawtypes")

List cityList = personalServicequeryCity(provinceId);

if(null != cityList && cityListsize() >0 ){

String json = JSONUtilstoJSONString(cityList);

superoutStr(json);

}

return null;

}

protected void outStr(String str)</span>

{

try

{

responsesetCharacterEncoding("UTF-8");

responsegetWriter()write(str);

}

catch (Exception e)

{

}

}

public static <T> String toJSONString(List<T> list)

{

JSONArray jsonArray = JSONArrayfromObject(list);

return jsonArraytoString();

}

js端接受如下

function selectBankCity(id){

$ajax({

url:baseAddress+"queryCityInfodoprovinceId="+id,

type:'get',

dataType:'json',

success:function(data){

$('#custBankArea')empty();

$('#custBankArea')append("<option >--请选择城市信息--</option>");

for(var i=0;i<datalength;i++){

$('#custBankArea')append("<option value='"+scjgcjcomdata[i]id+"'>"+data[i]cityName+"</option>");

}

}

});

}

2,通过Map传递

controller层实现如下

@RequestMapping("queryProvince")

@ResponseBody

public Map<String, Object>  queryProvince(>

也许可以这样,你需要返回一个json,这个json由一个对象呗@ResponseBody自动序列生成,然后,你试着将这个对象保存进model里面,mvsetObject("xx",xx);然后在拦截器中拦截未返回的的那个方法中model里面的对象做处理,对象是引用,这里改了

以上就是关于springmvc中怎么从配置文件中读取信息全部的内容,包括:springmvc中怎么从配置文件中读取信息、spring中response的原理,何时何地获取到outputstream中的数据返回的、spring中为什么是通过连接获取 *** 作数据库的对象(springmvc连接数据库)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9452383.html

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

发表评论

登录后才能评论

评论列表(0条)

保存