当前位置: 网学 > 编程文档 > JSP > 正文

JSP HTTP服务器开发配置方法

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/17
下载{$ArticleTitle}原创论文样式
bsp;
(2)安装JDK并配置编译环境 
安装JDK并设置java路径($(installation_dir)/bin)到系统PATH变量中。 

1.4 设计实施 

(1)创建服务套接字 

//Create server socket 
ServerSocket serv = new ServerSocket(SERVER_PORT);
System.out.println(\"HTTP server(port: \" + Integer.toString(SERVER_PORT) + \") running\"); 


(2)接受客户端请求并创建请求处理线程 
while(true)
{
//Accept the client connections 
Socket clnt = serv.accept();
//Create thread for each client 
HTTPThread HTTPThd = new HTTPThread(clnt, props, ht);
HTTPThd.start();



以上代码中,创建了多线程构架的客户端请求处理体系。可以及时处理多客户端连接。 

(3)分析请求 

客户端处理线程从客户端套接字中读取相应的请求内容,并对请求进行分析。
//Create client socket input stream reader 
m_sin = new BufferedReader(new InputStreamReader(_s.getInputStream() ) );
……
//Get the first line of output from client socket 
request = m_sin.readLine().trim();
if(request != null)
{
//The method is GET 
if(request.startsWith(METHOD_GET) == true)
{
parseGetRequest(request);
}
//The method is POST 
else if(request.startsWith(METHOD_POST) == true)
{
params = m_sin.readLine();
//Skip the middle lines of POST request 
while( (params != null) && (params.equals(\"\") == false) )
{
params = m_sin.readLine();
}
//The last line contains those parameters 
params = m_sin.readLine();
params = params.trim();
parsePostRequest(request, params);
}
//Close client socket input stream and client socket itself 
m_sin.close();
m_s.close();



 通过请求内容的第一行就可以知道请求方式是GET还是POST。如果是GET请求(例如很多CGI都是GET请求),就可以直接从请求字符串中获取请求的资源内容。GET请求的格式为:GET <URL> HTTP/1.X。其中URL为请求的资源内容,而1.X是用于指明客户端所支持的HTTP的版本,当前有1.0和1.1两个标准。  [Page]

如果是POST请求,除了请求的资源内容(例如JSP文件)外,在请求的末行中还包含请求资源将要用到的参数行。所以上述代码中存在掠过中间部分的请求内容,只需要获取资源内容和参数行即可。 

(4)请求资源与本地资源的映射

一般出于安全性考虑,HTTP服务器端不可能将本地的资源路径和服务提供的路径相同,而是将本地路径的某一目录映射为HTTP服务资源的根目录,该目录一般称之为服务页根目录(ServerPageDir)。当客户端请求资源映射到本地资源时,必须使用本地被映射的目录替换请求中的根目录。例如HTTP服务器端将本地路径“/usr/paul/paul.home”映射为服务页根目录。那么客户端的请求“/sample.jpg”对应本地的路径资源为“/usr/paul/paul
  • 上一篇资讯: JSP中文件常用操作方法
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号