java写webser的简单介绍

博主:adminadmin 2023-01-20 14:54:18 338

本篇文章给大家谈谈java写webser,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

jax-ws webservice 怎么获取请求头信息

webservice采用的是jax-ws,现在要进行身份验证,我用的是设置请求头的方法,本地客户端设置请求头代码如下:

Java代码

ZscpWebServiceImplService ser = new ZscpWebServiceImplService();

ZscpWebServiceImplDelegate de = ser.getZscpWebServiceImplPort();

MapString, Object context = ((BindingProvider)de).getRequestContext();

MapString, ListString headers = new HashMapString, ListString();

context.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "");

headers.put("name", Collections.singletonList("test"));

headers.put("checkuser", Collections.singletonList("test!test123"));

context.put(MessageContext.HTTP_REQUEST_HEADERS, headers);

System.out.println(de.queryExposure(10, 1,"4"));

本地服务端获取请求头代码如下:

Java代码

MessageContext mc = context.getMessageContext();

Map requestHeaderNames = (Map)mc.get(SOAPMessageContext.HTTP_REQUEST_HEADERS);

Set set = requestHeaderNames.keySet();

for(Object key:set){

System.out.println(key+" "+requestHeaderNames.get(key));

}

现在我在本地运行的结果是9条信息,全部都有

Host [localhost:8080]

Content-type [text/xml;charset="utf-8"]

Content-length [240]

Connection [keep-alive]

Name [test]

Checkuser [test!test123]

User-agent [JAX-WS RI 2.1.3-hudson-390-]

Accept [text/xml, multipart/related, text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2]

Soapaction [""]

java和JSP和JavaScript有什么区别啊

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

JSP是JAVA SERVER PAGE的首字母缩写,顾名思义,是JAVA的服务端页面,其动态语法部分完全是JAVA规范。JSP是和ASP,PHP一样的服务器端语言,主要用来制作网站后台的技术(但现在一般不使用了,2014年起基本都开始使用模板引擎技术如velocity 等)。

JAVASCRIPT从其名称含义是JAVA脚本,是在浏览器中运行的脚本语言,由于其大部分语法规范取自于JAVA语法规范,所以取名为JAVASCRIPT(其实和JAVA没多大关系,是由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript)。JAVASCRIPT是一门基于对象的弱类型脚本编程语言,主要用来制作网页前台的技术.并且是现在比较热门的AJAX技术的核心。

扩展资料:

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

参考资料:java百度百科

开发的java网址,在服务器上中文乱码

tomcat做web服务器时,通过地址栏传中文参数时,为防止浏览器上的为乱码

需在服务器server.xml中配置对应的端口中配置编码方式即可.例如:

Connector port="8080"

maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

enableLookups="false" redirectPort="8443" acceptCount="100"

debug="0" connectionTimeout="20000"

disableUploadTimeou…

用java 调用python 类里面的方法 怎么调用啊 怎么调用类web 下面的adder方法啊

import javax.script.*;

import org.python.core.PyFunction;

import org.python.core.PyInteger;

import org.python.core.PyObject;

import org.python.util.PythonInterpreter;

import java.io.*;

import static java.lang.System.*;

public class FirstJavaScript

{

public static void main(String args[])

{

PythonInterpreter interpreter = new PythonInterpreter();

interpreter.execfile("C:\\Python27\\programs\\my_utils.py");

PyFunction func = (PyFunction)interpreter.get("adder",PyFunction.class);

int a = 2010, b = 2 ;

PyObject pyobj = func.__call__(new PyInteger(a), new PyInteger(b));

System.out.println("anwser = " + pyobj.toString());

}//main

}

如果解决了您的问题请采纳!

如果未解决请继续追问

怎么在java中使用cookie

1、Cookie的来历与作用

Cookie是WEB服务器通过浏览器保存在WWW用户端硬盘上的一个文本文件,这个文本文件中包含了文本信息。

文本信息的内容以“名/值”对(key/value)的形式进行存储。

可以让WEB开发者通过程序读写这个文本文件。

XP中保存Cookie的目录是“C://Documents and Settings\用户名\Cookies”

Cookie的作用

解决浏览器用户与Web服务器之间无状态通信。

2Cookie编程

//创建对象

Date date = new Date() ;

Cookie c = new Cookie("lastVisited",date.toString()) ;

//设定有效时间 以s为单位

c.setMaxAge(60) ;

//设置Cookie路径和域名

c.setPath("/") ;

c.setDomain(".zl.org") ; //域名要以“.”开头

//发送Cookie文件

response.addCookie(c) ;

//读取Cookie

Cookie cookies[] = request.getCookies() ;

Cookie c1 = null ;

if(cookies != null){

for(int i=0;i

c1 = cookies[i] ;

out.println("cookie name : " + c1.getName() + " ") ;

out.println("cookie value :" + c1.getValue() + "

");

}

}

//修改Cookie

Cookie cookies[] = request.getCookies() ;

Cookie c = null ;

for(int i=0;i

c = cookies[i] ;

if(c.getName().equals("lastVisited")){

c.setValue("2010-04-3-28") ;

c.setMaxAge(60*60*12) ;

response.addCookie(c) ; //修改后,要更新到浏览器中

}

}

//删除Cookie,(将Cookie的有效时间设为0)

Cookie cookies[] = request.getCookies() ;

Cookie c = null ;

for(int i=0;i

c = cookies[i] ;

if(c.getName().equals("lastVisited")){

c.setMaxAge(0);

response.addCookie(c) ;

}

}

4、使用Cookie的注意事项

·Cookie的大小和数量是有限制的。

·Cookie在个人硬盘上所保存的文本信息是以明文格式进行保存的,没有任何的加密措施。

·浏览器用户可以设定不使用Cookie。

5、实例:Servlet中的Cookie编程

cookieInput.html页面

SetCookie.java

GetCookie.java

cookieInput.html页面中的参数提交到SetCookie.java中,由SetCookie.java保存在浏览器的Cookie中,在SerCookie.java中链接到GetCookie.java从而读取刚刚保存的Cookie。

SetCookie.java :

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setContentType("text/html;charset=utf-8");

PrintWriter out = response.getWriter();

String username = request.getParameter("username") ;

//保存Cookie

if(username !=""){

Cookie c1 = new Cookie("username",username) ;

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd") ;

Cookie c2 = new Cookie("lastVisited",sdf.format(new java.util.Date())) ;

c1.setMaxAge(60*60*60*12*30) ;

c2.setMaxAge(60*60*60*12*30) ;

response.addCookie(c1) ;

response.addCookie(c2) ;

out.println("Cookie保存成功!");

out.println("

") ;

out.println("读取Cookie") ;

}else{

response.sendRedirect("../cookieInput.html") ;

}

out.flush();

out.close();

}

GetCookie.java:

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setContentType("text/html;charset=utf-8");

PrintWriter out = response.getWriter();

out.println("

");

out.println("");

out.println("

");

out.println("

");

//读取Cookie

Cookie cookies[] = request.getCookies() ;

Cookie c = null ;

if(cookies != null){

for(int i=0;i

c = cookies[i] ;

if(c.getName().equals("username")){

out.println("用户名: "+c.getValue());

out.println("

");

}

if(c.getName().equals("lastVisited")){

out.println("上次登录的时间: "+c.getValue());

}

}

}else{

out.println("No cookie !");

}

out.println("

");

out.println("

");

out.flush();

out.close();

}

webservice能传文件吗

当然可以传附件了、、。。。

axis用过吧?版本1就可以

将你要传送的文件封装在DataHandler中,然后将DataHandler对象或DataHandler数组(多个文件传送的时候)作为客户端调用函数的参数(从客户端上传文件到服务器)Axis服务的返回类型(从服务器端下载文件到客户端)进行传输。

1.服务端程序:

假设传输多个文件:在服务器端将文件取出来,并将文件封装在DataHandler数组中。

代码如下:

DataHandler[] ret = new DataHandler[totalFileNum];

... ...

java.io.File myFile = new java.io.File(filePath);

if(myFile.isFile() myFile.canRead())

{

String fname = myFile.getAbsoluteFile().getCanonicalPath();

DataHandler[0] = new DataHandler(new FileDataSource(fname));

}

... ...

return ret;

2. 客户端的访问:

代码如下:

Service service = new Service();

Call call = (Call) service.createCall();

URL myURL = new URL("");

call.setTargetEndpointAddress(myURL); //设定服务的主机和位置

call.setOperationName(new QName("urn:MyAttachServer","echoDir")); //设置要调用的服务的方法

QName qnameAttachment = new QName("urn:MyAttachServer","DataHandler");

call.registerTypeMapping(DataHandler.class, qnameAttachment, JAFDataHandlerSerializerFactory.class,JAFDataHandlerDeserializerFactory.class); //为附件(即DataHandler类)创建序列化生成器

call.addParameter("source", XMLType.XSD_STRING ,ParameterMode.IN); //设置服务调用方法的传入参数类型

call.setReturnType(XMLType.SOAP_ARRAY); //设置调用服务方法的返回类型,由于返回的是DataHandler数组,所以设置为SOAP_ARRAY类型

javax.activation.DataHandler[] ret = (javax.activation.DataHandler[])call.invoke(new Object[]{null}); //调用方法

for (i = 0; i ret.length; ++i)

{

DataHandler recDH = ret[i];

java.io.File receivedFile = new java.io.File(recDH.getName()); //文件生成

}

3. 服务的部署:

注意:你要在部署的时候,定义DataHandler的序列化生成器。

编写deploy.wsdd文件:

deployment xmlns="" xmlns:java="" xmlns:ns1="urn:att_STC_Server"

service name="urn:att_STC_Server" provider="java:RPC"

parameter name="className" value="samples.att_STC.att_STC_Server"/

parameter name="allowedMethods" value="echoDir"/

typeMapping deserializer="org.apache.axis.encoding.ser.JAFDataHandlerDeserializerFactory"

languageSpecificType="java:javax.activation.DataHandler" qname="ns1:DataHandler"

serializer="org.apache.axis.encoding.ser.JAFDataHandlerSerializerFactory"

encodingStyle=""/

/service

/deployment

自己试试。

关于java写webser和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。