导航:首页 > 编程语言 > webserverjava

webserverjava

发布时间:2025-04-15 13:21:23

A. java实现调用webserver

一、利用jdk web服务api实现,这里使用基于 SOAP message 的 Web 服务
1.首先建立一个Web services EndPoint:

Java代码

package Hello;
import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.xml.ws.Endpoint;

@WebService
public class Hello {

@WebMethod
public String hello(String name) {
return "Hello, " + name + "\n";
}

public static void main(String[] args) {
// create and publish an endpoint
Hello hello = new Hello();
Endpoint endpoint = Endpoint.publish("http://localhost:8080/hello", hello);
}
}

Java代码

package Hello;
import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.xml.ws.Endpoint;

@WebService
public class Hello {

@WebMethod
public String hello(String name) {
return "Hello, " + name + "\n";
}

public static void main(String[] args) {
// create and publish an endpoint
Hello hello = new Hello();
Endpoint endpoint = Endpoint.publish("http://localhost:8080/hello", hello);
}
}

2.使用 apt 编译 Hello.java(例:apt -d [存放编译后的文件目录] Hello.java ) ,会生成 jaws目录
3.使用java Hello.Hello运行,然后将浏览器指向http://localhost:8080/hello?wsdl就会出现下列显示
4.使用wsimport 生成客户端
使用如下:wsimport -p . -keep http://localhost:8080/hello?wsdl
5.客户端程序:

Java代码

class HelloClient{
public static void main(String args[]) {
HelloService service = new HelloService();
Hello helloProxy = service.getHelloPort();
String hello = helloProxy.hello("你好");
System.out.println(hello);
}
}

Java代码

class HelloClient{
public static void main(String args[]) {
HelloService service = new HelloService();
Hello helloProxy = service.getHelloPort();
String hello = helloProxy.hello("你好");
System.out.println(hello);
}
}

B. HOST头攻击漏洞的解决: web应用使用SERVER_NAME而非host header。 请问具体如何实施呢(是java开发的)

host header,就是请求消息头里面的一个字段,如下图

SERVER_NAME应该是指Nginx或者tomcat里面的一个白名单机制,意思是配置之后,只有白名单内的ip才被允许访问,具体怎么用不清楚。

解决这个漏洞,网上有这种方案,可以一试:

打开tomcat的conf目录中的server.xml文件,在<Host>节点做如下配置:

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">

<Alias>10.1.8.158</Alias><!--10.1.8.158 本地局域网-->

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" resolveHosts="false" pattern="%a %A %b %B %h %H %l %m %p %s %S %t %u %U %v %D %T" />

</Host>

C. web server与app server有什么不同

1、处理问题不同
Web服务器处理HTTP请求,而app服务器基于多种不同的协议,处理应用程序的逻辑问题

2、功能不同
当web服务器接收到一个请求,它只是简单的将请求交给处理该请求的最优程序。除了为服务器程序简单的提供一个运行环境之外,web服务器不提供任何功能。不同于web服务器主要发送用来展示在浏览器上的HTML页面,app服务器为客户端程序处理应用逻辑方面问题。

3、提供的服务不同

web服务器一般会提供诸如容错机制,负载均衡、缓存、集群等。app服务器通过元件API,比如基于j2ee app服务器的EJB,来提供应用逻辑。而更多的情况下,app服务器自己管理自己的资源。这些责任(gate-keeping)包括安全、进程交互、资源池、消息分发等。

(3)webserverjava扩展阅读

主要web server产品

1、kangle

kangleweb服务器(简称:kangle)是一款跨平台、功能强大、安全稳定、易操作的高性能web服务器和反向代理服务器软件。除此:kangle也是一款专为做虚拟主机研发的web服务器。实现虚拟主机独立进程、独立身份运行。

用户之间安全隔离,一个用户出问题不影响其他用户。安全支持php、asp、net、java、ruby等多种动态开发语言。

2、nginx

Nginx(发音同 engine x)是一款轻量级的Web服务器/反向代理服务器及电子邮(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。

其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:新浪、网易、腾讯等。

3、apache

Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。

同时Apache音译为阿帕奇,是北美印第安人的一个部落,叫阿帕奇族,在美国的西南部。也是一个基金会的名称、一种武装直升机等等。

app服务器的功能。

场景1:web服务器,而非app服务器

在这个场景里,web服务器独自提供在线商店的功能。它接受用户的请求,交给服务器端程序处理。该服务器端程序通过数据库,或者纯文本,查找到价格信息,然后生成HTML响应,通过web服务器返回给用户的浏览器。

总结来说,web服务器仅需要接受HTTP请求,并响应HTML网页。

场景2: web服务器 + app服务器

同场景1一样,web服务器仍然代理脚本生成的响应。但是你可以把业务逻辑部署在app服务器上。

这样,脚本就不需要去关注怎样查询和生成响应,而仅需要调用app服务器提供查询服务,从而利用其生成它的HTML响应。

在这个例子中,app服务器提供了价格查询的业务逻辑。这个逻辑不应该包含怎样去展示,或者强迫客户端使用这些数据。相反的是,客户端和app服务器进行交互,只有当客户端调用了app服务器的价格查询服务的时候,该服务才查找到信息并返回。

同HTML代码生成分离开后,价格查询逻辑的复用性提高了。另外一个客户端,比如收银机,同样可以调用这个接口。而场景1里,价格查询服务就很难被重用,因为它和HTML页面紧密联系。

总结来说,第二个场景中,web服务器处理HTTP请求,并返回HTML页面,而app服务器处理业务逻辑。

阅读全文

与webserverjava相关的资料

热点内容
程序员放弃后会怎样 浏览:155
河北模具编程 浏览:172
adb查找命令 浏览:302
安卓手机视频文件夹怎么打开 浏览:291
平板加密手机后怎么关闭 浏览:549
流媒体服务器应该注意什么 浏览:520
d8命令编译 浏览:937
压缩包解压需要多少空间 浏览:116
如何查找app属性 浏览:374
android人脸识别技术 浏览:298
pc104编程 浏览:323
二维码反编译破解推广 浏览:668
修改服务器的mac地址 浏览:515
好玩的编程软件 浏览:886
编程语言创始人有钱吗 浏览:790
短视频app怎么获客 浏览:1
查看云服务器的应用 浏览:420
javadump工具 浏览:552
程序员16g 浏览:414
程序员没有办法成为top怎么办 浏览:189