spring http invoker 학습 노트
3542 단어 springxmlWebwebservice방화벽
Spring HTTP invoker 는 spring 프레임 워 크 의 원 격 호출 모델 로 HTTP 기반 원 격 호출 을 실행 하고 자바 의 직렬 화 체 제 를 사용 하여 네트워크 에서 대상 을 전달 합 니 다.
능률.
원 격 호출 효율:rmi>spring http invoker>웹 서비스
장점.
1.spring http invoker 는 자바 의 직렬 화 체 제 를 사용 하고 rmi 와 유사 한 방식 으로 호출 합 니 다.http 프로 토 콜 을 사용 하여 방화벽 을 쉽게 통과 할 수 있 을 뿐만 아니 라 효율 적 인 원 격 호출 도 보장 할 수 있 습 니 다.
2.경량급 원 격 호출 모델 은 spring 을 사용 하 는 항목 에 틈새 없 이 삽입 할 수 있 고 침입 성 이 적 습 니 다.
3.아주 간단 해서 손 에 넣 기 쉽다.
예시
서버
1.web.xml
<servlet>
<servlet-name>service</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>service</servlet-name>
<url-pattern>/httpservice/*</url-pattern>
</servlet-mapping>
2.spring 프로필
<beans>
<bean id="userInfoServiceProxy" class="org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter">
<property name="service" ref="userInfoService"/>
<property name="serviceInterface" value="cn.gov.zjport.skeleton.sso.UserInfoService"/>
</bean>
</beans>
그 중에서 userInfoService 는 프로젝트 에 있 는 service 입 니 다.
3.웹-inf 디 렉 터 리 에 service-servlet.xml 를 추가 합 니 다.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/userInfoService">userInfoServiceProxy</prop>
</props>
</property>
</bean>
</beans>
이로써 서버 발표 가 완료 되 었 습 니 다.
클 라 이언 트
1.spring 프로필
<bean id="userInfoService" class="org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean">
<property name="serviceUrl" value="http://<server>:<port>/<domain>/httpservice/userInfoService"/>
<property name="serviceInterface" value="cn.gov.zjport.skeleton.sso.UserInfoService"/>
</bean>
2.호출 코드
String xml=userInfoService.getUserInfo("simpleadmin", true);
원 격 호출 코드 가 아 닌 것 과 같 습 니 다.
유닛 테스트
클 라 이언 트 가 유닛 테스트 만 하려 면 spring 을 통합 하려 면 비교적 무 겁 습 니 다.다음 코드 테스트 서비스 인 터 페 이 스 를 사용 할 수 있 습 니 다.
HttpInvokerProxyFactoryBean bean = new HttpInvokerProxyFactoryBean();
bean.setServiceInterface(UserInfoService.class);
bean.setServiceUrl("http://<server>:<port>/<domain>/httpservice/userInfoService");
bean.afterPropertiesSet();
UserInfoService userInfoService= (UserInfoService) bean.getObject();
String xml=userInfoService.getUserInfo("simpleadmin", true);
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
thymeleaf로 HTML 페이지를 동적으로 만듭니다 (spring + gradle)지난번에는 에서 화면에 HTML을 표시했습니다. 이번에는 화면을 동적으로 움직여보고 싶기 때문에 입력한 문자를 화면에 표시시키고 싶습니다. 초보자의 비망록이므로 이상한 점 등 있으면 지적 받을 수 있으면 기쁩니다! ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.