通过servlet封装不同应用之间的访问方法
来源:互联网 发布:ubuntu安装深度商店 编辑:程序博客网 时间:2024/06/04 23:27
应用背景:
随着客户应用环境的复杂度得提高和系统的扩展,不同应用之间的访问成为一个必然,原理上我们只需要在一个应用中调用另一个应用的链接即可,本篇文章是把调用的过程封装成了一个servlet,具有隐蔽性以及简化灵活性。
实现过程:
假设有A,B两个应用,要实现从A应用访问B应用,从A应用里通过一个servlet访问B应用里的某一个页面,该页面所展现的报表通过传参实现。
1:编写servlet,代码如下
package com.runqian;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletRedirectextends HttpServlet {
public ServletRedirect() {
super();
}
public void destroy() {
super.destroy();// Just puts "destroy" string in log
// Put your code here
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String raq=request.getParameter("raq");//获取参数
response.sendRedirect("http://localhost:6001/demo/reportJsp/showReport.jsp?raq="+raq);//转跳
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
public void init()throws ServletException {
}
}
说明,代码简单,接受raq报表名称,当然访问B应用的url我们也可以通过参数传递,或者读取配置文件中的参数,例子中我们写死了B应用的rul。
2:将编译好的类文件放在A应用/web-inf/classes/test目录下。
3:在A应用/web-inf/下的web.xml里配置该servlet
<servlet>
<servlet-name>ServletTest</servlet-name>
<servlet-class>com.runqian. ServletRedirect </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletTest</servlet-name>
<url-pattern>/ServletTest</url-pattern>
</servlet-mapping>
4:将test.raq放在B应用的reportFiles文件夹下
5:启动A,B两个应用
6:比如A应用的地址为http://localhost:8080/report,B应用的地址为http://localhost:6001/demo
那么可以可以通过以下的方式从A应用访问B应用的showReport.jsp,并在该页面展现test.raq
http://localhost:8080/report/ServletTest?raq=test.raq
效果展示:
总结:
通过servlet的封装,可以给终端用户一个良好的体验,并且可以通过配置文件或者参数的设置,动态传递url以及报表模板,使得我们的配置更加灵活
- 通过servlet封装不同应用之间的访问方法
- 不同窗口之间js方法,变量以及节点的访问
- 通过一条sql语句访问不同数据库的方法
- 如何通过不同的域名访问发布到Apache上不同的Appeon Web应用?
- 如何通过不同的域名访问发布到Apache上不同的Appeon Web应用?
- 如何通过不同的域名访问发布到Apache上不同的Appeon Web应用?
- 如何通过不同的域名访问发布到Apache上不同的Appeon Web应用?
- 如何通过不同的域名访问发布到Apache上不同的Appeon Web应用?
- 服务器不同application之间的相互访问
- SharedPreferences 不同app之间的访问
- 不同网段之间的访问问题
- 通过https访问2级域名,来反向代理到各个不同的tomcat应用
- Struts2:访问不同的方法
- Android通过HttpClient访问服务器的servlet
- 通过一条sql语句访问不同数据库服务器中的数据库对象的方法
- 通过一条sql语句访问不同数据库服务器中的数据库对象的方法(转载)
- 通过一条sql语句访问不同数据库服务器中的数据库对象的方法
- 通过一条sql语句访问不同服务器中的数据库对象的方法
- 立方累加和:用递归函数求f(n)=1 3 +2 3 +...+n 3
- Spring 关键点
- 13-汉诺塔
- CICS集群安装相关要点记录
- 互联网金融风控措施
- 通过servlet封装不同应用之间的访问方法
- 互联网金融时代下机器学习与大数据风控系统
- C#之构造函数
- codeforces 285C Building Permutation (简单贪心)
- Spring Boot 配置优先级顺序
- 如何解决invalid LOC header错误的问题 - 润乾报表集成
- 创建数据库与查询数据
- Dlib机器学习库系列人脸检测
- IIS http强制转向https(证书已安装好)