• 用REST访问ALM的Servlet


    写了一个最简单的servlet用REST访问ALM。

    需要用到ALM server端的两个包:

     org.hp.qc.web.restapi.docexamples.docexamples

    org.hp.qc.web.restapi.docexamples.docexamples.infrastructure

    Servlet的代码(待修改)如下:

    public class AlmRestServlet extends HttpServlet {
    
        @Override
        public void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            
            String serverUrl = request.getParameter("serverUrl");
            String port = request.getParameter("port");
            String username = request.getParameter("username");
            String password = request.getParameter("password");
            String domain = request.getParameter("domain");
            String project = request.getParameter("project");
            String resource = request.getParameter("resource");
    
            String conUrl = "http://" + serverUrl + ":" + port + "/qcbin";
    
            RestConnector con = RestConnector.getInstance().init(
                    new HashMap<String, String>(), conUrl, domain, project);
    
            // use the login example code to login for this test. go over this code
            // to learn how to authenticate/login/logout
            AuthenticateLoginLogoutExample login = new AuthenticateLoginLogoutExample();
            
            try {
                login.login(username, password);
    
                // read a simple resource, not even an entity..
                String urlOfResourceWeWantToRead = con.buildUrl(resource);
    
                Map<String, String> requestHeaders = new HashMap<String, String>();
                requestHeaders.put("Accept", "application/xml");
    
                Response serverResponse = con.httpGet(urlOfResourceWeWantToRead, null, requestHeaders);
    
                PrintWriter writer = response.getWriter();
                writer.write(serverResponse.toString());
            
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }          
        }
    }

    页面内容如下:通过form的action almrest来调用servlet。

    <html>  
    <head>  
    <title>Server Information</title>  
    </head>  
    <body>  
        <form method="get" action="almrest">  
            <table>  
                <tr>  
                    <td>host:</td>  
                    <td><input type="text" name="serverUrl"></td>  
                    <td>port:</td>  
                    <td><input type="text" name="port"></td>
                </tr>
                <tr>  
                     
                </tr>
                <tr>  
                    <td>username:</td>  
                    <td><input type="text" name="username"></td>  
                    <td>password:</td>  
                    <td><input type="password" name="password"></td>  
                </tr>
                <tr>  
                    
                </tr>            
                <tr>  
                    <td>domain:</td>  
                    <td><input type="text" name="domain"></td> 
                    <td>project:</td>  
                    <td><input type="text" name="project"></td>                  
                </tr>  
                <tr>  
                    
                </tr> 
                <tr>  
                    <td>resource:</td>  
                    <td><input type="text" name="resource"></td>  
                </tr>            
                <tr>  
                    <td><input type="submit" value="GetResource"></td>  
                </tr>  
            </table>  
        </form>  
    </body>  
    </html>

    web.xml的配置如下:将/almrest配置成对servlet AlmRestServlet的调用。

    <web-app xmlns="http://java.sun.com/xml/ns/javaee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                          http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
      version="3.0"
      metadata-complete="true">
    
      <display-name>Welcome to Tomcat</display-name>
      <description>
         Welcome to Tomcat
      </description>
      
      <servlet>
            <servlet-name>AlmRestServlet</servlet-name>
            <servlet-class>stan.AlmRestServlet</servlet-class>
      </servlet>
        
      <servlet-mapping>
            <servlet-name>AlmRestServlet</servlet-name>
            <url-pattern>/almrest</url-pattern>
      </servlet-mapping>
    
    
    </web-app>

    将java文件build后的class文件按照包的层级关系考到WEB-INF的classes文件夹下。

    运行的结果如下:

    点击 GetResource之后的效果:

  • 相关阅读:
    微信开发生成带参数的二维码的讲解
    C#利用最新版的WPS实现导入导出
    【模版消息】C#推送微信模版消息(Senparc.Weixin.MP.dll)
    Photoshop的辅助线
    Newtonsoft.Json 两个Attribute含义
    VUE2.0 饿了吗视频学习笔记(二):新版本添加路由和显示Header
    VUE2.0 饿了吗视频学习笔记(一):VUE示例data.json
    Windows句柄数限制
    The CLI moved into a separate package: webpack-cli.解决办法
    Winform窗体设计工具源码
  • 原文地址:https://www.cnblogs.com/stanzhu/p/3196736.html
Copyright © 2020-2023  润新知