您的位置:首页 > 其它

通过servlet封装不同应用之间的访问方法

2016-11-22 11:17 351 查看
应用背景:

随着客户应用环境的复杂度得提高和系统的扩展,不同应用之间的访问成为一个必然,原理上我们只需要在一个应用中调用另一个应用的链接即可,本篇文章是把调用的过程封装成了一个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 ServletRedirect
extends 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
相关文章推荐