我们经常使用别人的服务器进行构建网站,现在我们就自己来写一个自己的服务来使用。
准备工作:下载所需的题材及文档
注:完整项目下载
一、request请求获取
1、了解request请求
在写服务器之前,我们需要知道客户端发送给我们哪些信息?以及要求我们返回哪些信息?经过测试我们能够知道用户客户端发送的信息有以下几点:
客户端发送到服务器端的请求消息,我们称之为请求(request),其实就是一个按照http协议的规则拼接而成的字符串,Request请求消息包含三部分: 请求行 消息报头 请求正文
第一部 请求行
格式:
Method Request-URI HTTP-Version CRLF
各部分分别为:
Method表示请求方法;一般为GET或者POST ;Request-URI是一个统一资源标识符; HTTP-Version表示请求的HTTP协议版本; CRLF表示回车和换行
例如:
GET /test.html HTTP/1.1
第二部 消息报头 http header
例如:
GET /test.html HTTP/1.1
Host: 127.0.0.1:9999
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*
}
(2)响应正文处:
//响应正文
String getPath= requestPath;//客户请求的地址
String webHome=(new ConfigUtils()).getConfigValue("rootPath");
System.out.println("配置文件中目录:"+webHome);//输出从配置文件中获取的地址
file=new File(webHome+getPath);
在响应正文中使用了ConfigUtils类进行了项目路径的获取,代码如下所示,对于config.properties(注意:此文件中文件路径应该注意,我使用的是Linux系统,文件结构是/home //输出流 HttpResponseImpl response=new HttpResponseImpl(s); response.setStatusLine(200); response.setContentType("text/html"); response.printResponseHeader(); response.setCRLF(); response.printResponseHeader(); response.printResponseContent(request.getRequestPath()); //用于输出信息 } } catch (IOException e) { e.printStackTrace(); } } }
在浏览器中输入地址回车:http://127.0.0.1:10002/test.html?id=1212&name=suguniang ,能够看到浏览器解析后的界面,当其他电脑访问时(其他电脑指的是同一个域内的),只要将127.0.0.1修改为本地的ip地址即可
此时控制台上也输出相应的信息:
web服务器项目中静态请求和动态请求处理:https://www.jb51.net/article/191243.htm
到此这篇关于浅谈web服务器项目中request请求和response的相关响应处理的文章就介绍到这了,更多相关web服务器 request请求 response响应处理内容请搜索考高分网以前的文章或继续浏览下面的相关文章希望大家以后多多支持考高分网!



