SSM框架整合笔记(二)Druid和Webservice配置
前言
WebService
Web Service 是自包含(self-contained)、使用开放协议进行通信的应用程序组件。功能:实现应用程序之间的通信;将应用程序转换为网络应用程序;使用XML来编解码数据,并使用SOAP来传输数据。
元素:
- 使用SOAP(简单对象访问协议):是用于交换XML编码信息的轻量级协议;
- WSDL(Web Service 描述语言):用于描述Web Service及函数、参数和返回值,因为是基于XML的,因此WSDL既是机器可阅读的,又是人可阅读的;
- UDDI:目的是为电子商务建立标准,是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。
- XML是Web Service的基础;
SOAP:是一种使应用程序有能力通过 HTTP 交换信息的基于 XML 的简易协议。
WSDL:是基于 XML 的用来描述 Web services 以及如何访问它们的一种语言,可描述 web service,连同用于 web service 的消息格式和协议的细节。
Druid
Druid是Java中的数据库连接池。Druid能够提供强大的监控和扩展功能。
相关文章
本文内容
- ssm项目使用CXF配置webservice。
- ssm项目中配置druid数据库连接池,SQL监控。
一、使用CXF配置webservice
0. pom.xml
pom.xml
中添加依赖如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| <cxf.version>3.1.6</cxf.version>
<dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws</artifactId> <version>${cxf.version}</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-core</artifactId> <version>${cxf.version}</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http</artifactId> <version>${cxf.version}</version> </dependency>
|
1. web.xml
web.xml
中添加配置如下:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
<servlet> <servlet-name>CXFServlet</servlet-name> <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class> </servlet>
<servlet-mapping> <servlet-name>CXFServlet</servlet-name> <url-pattern>/webservice/*</url-pattern> </servlet-mapping>
|
2. spring-config.xml
spring-config.xml
中添加配置如下:
1 2 3 4 5 6 7
| <import resource="classpath:META-INF/cxf/cxf.xml"/>
<context:component-scan base-package="com.weyoung.webservice"/>
<jaxws:endpoint implementor="#thirdService" address="/testService"/>
|
3. ThirdWebservice.java
添加interface:ThirdWebservice.java
,示例代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| package com.weyoung.webservice;
import javax.jws.WebService;
@WebService public interface ThirdWebservice {
String getThirdPartyRequest(String code, String loginData, String intoData) throws Exception; }
|
4. ThirdWebserviceImpl.java
添加java类:ThirdWebserviceImpl.java
,示例代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| package com.weyoung.webservice;
import org.springframework.stereotype.Component;
import javax.jws.WebService;
@Component("thirdService") @WebService public class ThirdWebserviceImpl implements ThirdWebservice {
@Override public String getThirdPartyRequest(String code, String loginData, String intoData) throws Exception { String result; switch (code) { case "WS0001": result = "WS0001" + loginData + intoData; break; case "WS0002": result = "WS0001" + loginData + intoData; break; default: result = "OTHER" + loginData + intoData; break; } return result; } }
|
测试接口
访问地址:http://localhost:8080/ssm-note/webservice/ ,原访问项目后加”webservice/“,访问结果如下:
点击蓝色链接后如下:
使用soapUI测试webservice接口:
双击Request 1
,填入参数,点击运行按钮,结果如下,调用成功:
二、配置druid数据库连接池,SQL监控
0. pom.xml
pom.xml
中添加依赖如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <druid.version>1.0.25</druid.version> <log4j.version>1.2.14</log4j.version>
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>${druid.version}</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>${log4j.version}</version> </dependency>
|
1. web.xml
web.xml
中添加配置如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <filter> <filter-name>druidWebStatFilter</filter-name> <filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class> <init-param> <param-name>exclusions</param-name> <param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*</param-value> </init-param> </filter> <filter-mapping> <filter-name>druidWebStatFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <servlet> <servlet-name>druidStatView</servlet-name> <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>druidStatView</servlet-name> <url-pattern>/druid/*</url-pattern> </servlet-mapping>
|
2. spring-config.xml
spring-config.xml
中添加配置,示例代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| <bean id="MySQLDataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <property name="driverClassName" value="${jdbc.mysql.driver}"/> <property name="url" value="${jdbc.mysql.url}"/> <property name="username" value="${jdbc.mysql.username}"/> <property name="password" value="${jdbc.mysql.password}"/> <property name="initialSize" value="${jdbc.initialSize}"/> <property name="minIdle" value="${jdbc.minIdle}"/> <property name="maxActive" value="${jdbc.maxActive}"/>
<property name="maxWait" value="${jdbc.maxWait}"/>
<property name="timeBetweenEvictionRunsMillis" value="${jdbc.timeBetweenEvictionRunsMillis}"/>
<property name="testWhileIdle" value="${jdbc.testWhileIdle}"/>
<property name="testOnBorrow" value="true" /> <property name="testOnReturn" value="false" />
<property name="poolPreparedStatements" value="true" /> <property name="maxPoolPreparedStatementPerConnectionSize" value="20" />
<property name="defaultAutoCommit" value="${jdbc.defaultAutoCommit}"/>
<property name="filters" value="stat" /> <property name="proxyFilters"> <list> <ref bean="logFilter" /> </list> </property> </bean>
<bean id="logFilter" class="com.alibaba.druid.filter.logging.Log4jFilter"> <property name="statementExecutableSqlLogEnable" value="false" /> </bean>
|
测试Druid
访问地址:http://localhost:8080/ssm-note/druid/
访问后如下:
分享
欢迎扫描下方二维码,关注weyoung公众号,一起交流学习~~
更多联系方式