protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException { request.setCharacterEncoding("utf-8"); response.setContentType("application/x-javascript;charset=utf-8"); InterventionVO target = dao.findById(200001001L); PrintWriter writer = response.getWriter(); //"application/x-javascript" writer.append("'name':'张3'"); System.out.println(JSON.toJSON(target)); writer.flush(); writer.close(); }
以上是服务端代码 (URL 为 interventionService/testJson.service)
客户端需要链接时可以这样使用Socket访问这个URL并获得这个链接
public static void main2(String[] args) throws IOException { Socket s = new Socket("192.168.0.198", 8080); OutputStream outputStream = s.getOutputStream(); PrintWriter p = new PrintWriter(outputStream); p.write("GET /interventionService/testJson.service HTTP/1.1\n" + "Host: localhost:8080\n" + "Connection: keep-alive\n" + "User-Agent: Mozilla/5.0 (X11; Linux i686) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5\n" + "Accept: text/html,application/xhtml+xml,application/xml,application/x-javascript;q=0.9,*/*;q=0.8\n" + "Accept-Encoding: gzip,deflate,sdch\n" + "Accept-Language: zh-CN,zh;q=0.8\n" + "Accept-Charset: UTF-8,*;q=0.5\n" + "\r\n\r\n\r\n"); p.flush(); InputStream inputStream = s.getInputStream(); String str = readInputStream(Charset.forName("UTF-8"), inputStream); System.out.println(str); s.close(); }这样就可以了,需要有三点注意的
1. readInputStream就是读取数据的函数自行编写即可.
2. 如果需要带Cookie 可以在write里多加一句"Cookie:xxxxxx“。(提示一下,可以做跨域免登录)
3. 在writer的末尾端必须有3行换行且必须是\r\n (HTTP协议如此规定).
别忘了在write之后flush。
相关推荐
1. **初始化Winsock**:在使用任何Winsock函数之前,需要调用`WSAStartup`函数,指定版本信息,并获得Winsock服务提供者的句柄。 2. **创建Socket**:使用`socket`函数创建一个UDP套接字。参数指定为`AF_INET`表示...
例如,如果书名为[booktitle],则可以尝试访问该书的官方网站或者联系作者获取相关信息。 #### 1.6 如何获取更多关于套接字编程的信息? 除了本FAQ外,还可以通过以下途径获取更多关于套接字编程的知识: - 阅读...
- Java线程的优先级范围是1到10,其中1是最低优先级,10是最高优先级,优先级高的线程更可能获得CPU执行时间。 4. **构造方法**: - 构造方法是用于初始化新创建对象的特殊方法,它的名称与所在类的名称完全相同...
- Socket编程:TCP和UDP通信的基本概念和实现。 - URL与URLConnection:网络资源的访问与下载。 10. **Java 8及更新特性**: - Lambda表达式:简化匿名内部类,函数式编程的基础。 - Stream API:用于集合操作...
ToChar 方法返回指定的Unicode字符值,并且不执行任何实际的转换,其语法格式如下: public static char ToChar (char value) 参数说明 value:一个Unicode 字符。 设 计过程 (1)打开Visual Studio 2008 开发环境...
在Java中,封装通常是通过将类的成员变量设置为私有(private),并通过公共(public)的方法来访问这些变量实现的。 #### 第四章:面向对象下 - **继承** 继承是面向对象编程的另一个重要特性,允许创建一个新的...
ActionScript 3.0 (AS3) 是一种强大的面向对象的编程语言,用于创建交互式应用程序、游戏和服务。它作为Adobe Flash Player 和 Adobe AIR 的核心组成部分,被广泛应用于Web开发领域。本参考手册旨在为开发者提供AS3...
- **Callable**:与 `Runnable` 类似,但支持返回值,并且可以通过 `Future` 获取结果。 **6. Socket 和 ServerSocket 区别** - **Socket**:用于客户端和服务端之间的双向通信。 - **ServerSocket**:服务端监听...
C) 类实现了接口,必须实现接口中的所有方法,并且接口中的所有方法均为public,在实现类中不可以削弱接口中方法的访问权限。 D) 类实现了接口,实现接口中的方法时可以重写该方法的访问权限,但是无法改变接口中...
构造方法的名字必须与类名相同,并且没有返回值类型。 **数据和方法的隐藏——封装:** 封装是面向对象编程中的一个重要概念,它指的是将数据和操作这些数据的方法包装在一个单一的单位中,并对外界隐藏具体的实现...
- **网络通信**:ActionScript 3.0 支持多种网络通信方式,包括HTTP请求、XMLHttpRequests和Socket连接,这对于构建动态Web应用程序非常有用。 - **调试和优化**:为了确保应用程序的质量和性能,学习如何使用调试...
守护进程是一种后台服务进程,不在用户终端下运行,通常会在系统启动时启动,并一直运行直到系统关闭。要使程序成为守护进程,通常需要执行一系列步骤,比如重定向标准I/O流、成为新会话的首进程、更改工作目录等。...
- 构造函数没有返回类型,即使是无返回值的也写作无类型,而不是`void`。 - 构造函数名称必须与类名相同,并且用于初始化对象的状态。 ### 7. 方法返回类型 **题目**: 以下方法的返回类型是什么? ```java ...
父子进程之间的通信可以通过管道(pipe)、套接字(socket)或共享内存等方式实现。管道是最常见的IPC(Inter-Process Communication)机制之一,允许父子进程之间进行单向的数据传递。套接字则提供了一种网络化的...
由于oSIP是比较底层的SIP协议栈实现,新手较难上手,而官方的示例大都是一些伪代码,需要有实际的例子程序参考学习,而最好的例子就是同样官方发布的oSIP的扩展开发库exosip2,使用exoSIP可以很...
对象可以访问类定义的方法,并且可以通过实例变量存储数据。 ```ruby person = Person.new("Alice", 30) person.speak # 输出 "Hello, my name is Alice." ``` **3.3 继承** Ruby支持单一继承,子类可以继承父类...
列表是Python中最常用的数据结构之一,它允许存储任意数量的元素,并且可以容纳不同类型的数据。你可以通过索引访问列表元素,也可以进行切片、追加、插入和删除等操作。元组与列表类似,但一旦创建就不可变。字典则...
常见的调度算法包括先来先服务(FCFS)、短作业优先(SJF)、时间片轮转(RR)、优先级调度等。 **5. 多进程与多线程的区别** - **多进程**:每个进程都有独立的地址空间,进程间通信相对复杂。 - **多线程**:...
静态编译后的易语言EXE/DLL之间不能再共享譬如窗口、窗口组件等类似资源,对于已经静态连接到一个EXE/DLL中的支持库,该支持库中的数据或资源将不能再被其它EXE/DLL中所使用的同名支持库访问。这是因为代码被分别...
� 良好的盈利模式( 3/7 开),产业链条的各方:运营商、制造商、独立软件生产商都可以获得不错的利 益 。 将移动终端的评价标准从硬件向软件转变,极大的激发了软件开发者的热情。 � Android 的源代码遵循 Apache...