java學習

          java學習

           

          jersey面向資源開發5

          jersey容器發布web應用不需要web.xml的開發。
          1.新建容器掃描類
          package com.example;
          import javax.servlet.annotation.WebInitParam;
          import javax.servlet.annotation.WebServlet;
          import org.glassfish.jersey.servlet.ServletContainer;
          @WebServlet(
          initParams = @WebInitParam(name = "jersey.config.server.provider.packages", value = "com.example"), 
          urlPatterns = "/webapi/*", 
          loadOnStartup = 1)
          public class AirServlet extends ServletContainer {
          private static final long serialVersionUID = 1L;
          }
          在com.example包中的資源服務類都可以訪問到

          posted @ 2017-07-26 16:15 楊軍威 閱讀(83) | 評論 (0)編輯 收藏

          jersey面向資源開發4

          jersey不用添加掃描包,自動掃描資源服務類。
          在web.xml文件中添加
          <servlet>
          <servlet-name>javax.ws.rs.core.Application</servlet-name>
          </servlet>
          <servlet-mapping>
          <servlet-name>javax.ws.rs.core.Application</servlet-name>
          <url-pattern>/webapi/*</url-pattern>
          </servlet-mapping>
          這樣可以自動掃描所有的資源服務類

          posted @ 2017-07-26 15:41 楊軍威 閱讀(167) | 評論 (0)編輯 收藏

          jersey面向資源開發3

          在使用jersey中,web.xml文件也可以不用。
          1、新建jersey容器類
          package com.example;
          import javax.ws.rs.ApplicationPath;
          import org.glassfish.jersey.server.ResourceConfig;
          @ApplicationPath("/webapi/*")
          public class AirResourceConfig extends ResourceConfig {
          public AirResourceConfig() {
          packages("com.example");
          }
          }
          或者
          package com.example;
          import java.util.HashSet;
          import java.util.Set;
          import javax.ws.rs.ApplicationPath;
          import javax.ws.rs.core.Application;
          @ApplicationPath("/webapi/*")
          public class AirApplication extends Application {
          @Override
          public Set<Class<?>> getClasses() {
          final Set<Class<?>> classes = new HashSet<Class<?>>();
          classes.add(MyResource.class);
          return classes;
          }
          }
          把所有的資源服務類加入到set中
          @ApplicationPath定義了訪問的地址,packages("com.example");定義了掃描的資源服務類的包

          posted @ 2017-07-26 15:10 楊軍威 閱讀(94) | 評論 (0)編輯 收藏

          jersey面向資源開發2

          1、先在pom.xml文件中添加依賴:
           <dependency>
                      <groupId>org.glassfish.jersey.containers</groupId>
                      <artifactId>jersey-container-servlet-core</artifactId>
                  </dependency>
              </dependencies>
          2、在web.xml中添加jersey類
          <servlet>
          <servlet-name>Jersey Web Application</servlet-name>
          <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
          <init-param>
          <param-name>javax.ws.rs.Application</param-name>
          <param-value>com.example.AirApplication</param-value>
          </init-param>
          <load-on-startup>1</load-on-startup>
          </servlet>
          <servlet-mapping>
          <servlet-name>Jersey Web Application</servlet-name>
          <url-pattern>/webapi/*</url-pattern>
          </servlet-mapping>
          其中com.example.AirApplication類掃描所有的對外服務類
          3、新建對外服務類
          package com.example;
          import javax.ws.rs.GET;
          import javax.ws.rs.Path;
          import javax.ws.rs.Produces;
          import javax.ws.rs.core.MediaType;
          /**
           * Root resource (exposed at "myresource" path)
           */
          @Path("myresource1")
          public class MyResource1 {
              @GET
              @Produces(MediaType.TEXT_PLAIN)
              public String getIt() {
                  return "Got it222!";
              }
          }
          package com.example;
          import javax.ws.rs.GET;
          import javax.ws.rs.Path;
          import javax.ws.rs.Produces;
          import javax.ws.rs.core.MediaType;
          /**
           * Root resource (exposed at "myresource1" path)
           */
          @Path("myresource1")
          public class MyResource1 {
              @GET
              @Produces(MediaType.TEXT_PLAIN)
              public String getIt() {
                  return "Got it222!";
              }
          }
          4、在AirApplication類中掃描服務類
          package com.example;
          import java.util.HashSet;
          import java.util.Set;
          import javax.ws.rs.core.Application;
          public class AirApplication extends Application {
          @Override
          public Set<Class<?>> getClasses() {
          final Set<Class<?>> classes = new HashSet<Class<?>>();
          classes.add(MyResource.class);
          classes.add(MyResource1.class);
          return classes;
          }
          }
          這樣在tomcat中啟動就可以訪問資源類中的方法。

          posted @ 2017-07-26 14:53 楊軍威 閱讀(164) | 評論 (0)編輯 收藏

          jersey面向資源開發1

          1.新建一個實體類
          package com.example.domain;
          import javax.xml.bind.annotation.XmlAttribute;
          import javax.xml.bind.annotation.XmlRootElement;
          @XmlRootElement(name = "device")
          public class Device {
          private String deviceIp;
          private int deviceStatus;
          public Device() {
          }
          public Device(String deviceIp) {
          super();
          this.deviceIp = deviceIp;
          }
          @XmlAttribute
          public String getIp() {
          return deviceIp;
          }
          public void setIp(String deviceIp) {
          this.deviceIp = deviceIp;
          }
          @XmlAttribute
          public int getStatus() {
          return deviceStatus;
          }
          public void setStatus(int deviceStatus) {
          this.deviceStatus = deviceStatus;
          }
          }
          其中@XmlRootElement(name = "device")代表xml文件的根節點
          @XmlAttribute代表xml文件的屬性節點
          在pom.xml文件中依賴下面2包
          <dependencies>
                  <dependency>
                      <groupId>org.glassfish.jersey.containers</groupId>
                      <artifactId>jersey-container-grizzly2-http</artifactId>
                  </dependency>
                  <!--  get JSON support: -->
                   <dependency>
                      <groupId>org.glassfish.jersey.media</groupId>
                      <artifactId>jersey-media-moxy</artifactId>
                  </dependency>
                 
                  <dependency>
                      <groupId>junit</groupId>
                      <artifactId>junit</artifactId>
                      <version>4.9</version>
                      <scope>test</scope>
                  </dependency>
              </dependencies>
          在服務類中編寫
          package com.example;
          import javax.ws.rs.GET;
          import javax.ws.rs.Path;
          import javax.ws.rs.Produces;
          import javax.ws.rs.core.MediaType;
          import com.example.domain.Device;
          @Path("myresource")
          public class MyResource {
          @GET
           @Produces({ MediaType.APPLICATION_JSON })
          public Device getIt() {
          Device d=new Device("1.1.1.1");
          d.setStatus(2);
          return d;
          }
          }
          建立測試類:
          package com.example;
          import java.io.IOException;
          import java.net.URI;
          import org.glassfish.grizzly.http.server.HttpServer;
          import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
          import org.glassfish.jersey.server.ResourceConfig;
          public class Main {
          public static final String BASE_URI = "http://localhost:8080/myapp/";
          public static HttpServer startServer() {
          final ResourceConfig rc = new ResourceConfig().packages("com.example");
          return GrizzlyHttpServerFactory.createHttpServer(URI.create(Main.BASE_URI), rc);
          }
          public static void main(String[] args) throws IOException {
          final HttpServer server = Main.startServer();
          }
          }
          啟動后在瀏覽器中輸入http://localhost:8080/myapp/myresource,頁面返回
          {"ip":"1.1.1.1","status":2}
          返回json格式的數據。

          posted @ 2017-07-26 11:38 楊軍威 閱讀(151) | 評論 (0)編輯 收藏

          ibpm根據流程定義刪除對應的流程部署的步驟

          根據流程定義中的pdkey-->查詢出所有的流程定義--》根據流程定義中的DeploymentId刪除流程部署

          posted @ 2017-07-20 10:18 楊軍威 閱讀(153) | 評論 (0)編輯 收藏

          axis編寫客戶端程序調用webservice服務端

          String url="http://localhost:8984/axis/HelloWs.jws";//服務地址
          Service s = new Service();
          Call call = s.createCall();
          call.setTargetEndpointAddress(url);
          call.setOperationName(new QName(url, "getH"));//調用的服務端方法名稱
          Object invoke = call.invoke(new Object[]{"a"});//傳遞的參數
          System.out.println(invoke);

          posted @ 2017-07-05 17:54 楊軍威 閱讀(199) | 評論 (0)編輯 收藏

          webservice添加SOAPHandler的步驟

          1、創建自己的handler類實現SOAPHandler接口,實現里面的方法。
          2、新增handler-chain.xml文件,
          <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
          <javaee:handler-chains 
               xmlns:javaee="http://java.sun.com/xml/ns/javaee" 
               xmlns:xsd="http://www.w3.org/2001/XMLSchema">
            <javaee:handler-chain>
              <javaee:handler>
                <javaee:handler-class>com.ws.MsgHandler</javaee:handler-class>
              </javaee:handler>
            </javaee:handler-chain>
          </javaee:handler-chains>
          3、在webservice實現類中添加文件的地址 @HandlerChain(file="handler-chain.xml")
          4、

          posted @ 2017-07-04 09:38 楊軍威 閱讀(856) | 評論 (0)編輯 收藏

          根據wsdl生成Java客戶端程序的命令

          wsimport -d [目錄] -keep -verbose [wsdl地址]

          posted @ 2017-06-30 14:27 楊軍威 閱讀(176) | 評論 (0)編輯 收藏

          sessionid在客戶端和服務端保存的原理

          session是在服務端開辟的一塊內存,有唯一的sessionid,如果客戶端沒有禁用cookie,sessionid就保存在客戶端的cookie中;如果客戶端禁用了cookie,客戶端的url后面就跟上;jsessionid=111。來想服務器傳遞sessionid,可以保證sessionid不變。

          posted @ 2017-06-13 14:33 楊軍威 閱讀(209) | 評論 (0)編輯 收藏

          僅列出標題
          共43頁: First 上一頁 8 9 10 11 12 13 14 15 16 下一頁 Last 

          導航

          統計

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 霍邱县| 德格县| 三江| 襄城县| 盈江县| 洪雅县| 鸡西市| 喀什市| 太湖县| 麟游县| 呼玛县| 阳朔县| 和林格尔县| 奉节县| 东城区| 永年县| 云和县| 翁源县| 黔江区| 西充县| 龙门县| 汶川县| 宁波市| 通山县| 南木林县| 财经| 临潭县| 博罗县| 寿阳县| 黔东| 岳阳县| 彩票| 巴林左旗| 四平市| 都江堰市| 正宁县| 靖江市| 长垣县| 淮阳县| 扶风县| 如东县|