Tomcat 网站配置和HTTP四种方法测试
来源:互联网 发布:软件测试接单 编辑:程序博客网 时间:2024/05/08 22:08
一、tomcat的基本结构
1. conf/server.xml结构
<Server> <Connector /> <Service> <Engine> <Realm></Realm> <Host></Host> </Engine> </Service></Server>
<connector>用来定义开放的端口
<host> 用来定义网站
2. web.xml结构
<web-app> <display-name></display-name> <description></description> <servlet></servlet> <servlet></servlet></web-app>
网站的基本结构:
WEB-INF/classes----------存储servlet编译代码
WEB-INF/lib-----------------存储三方的库
WEB-INF/web.xml----------网站配置
根目录下---------------------- 存储jsp,html。
二、测试网站配置
阶段一:server.xml 配置
方法一:通过域名来测试
在<Engine>标签下添加主机
<Host name="域名" appBase="目录" unpackWARs="true" autoDeploy="true">
方法二:通过端口来测试
在Server下添加端口:
<Connector port="9000" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
redirectPort表示如果是SSL链接,重定向到8443端口(SSL端口)
方法三:通过目录来测试
1.在webapps下建立目录 test
2.在Server.xml中的<Host>标签下添加
<Context path="/test" docBase="test" reloadable="true" />
appBase是绝对路径、也可以是相对路径(相对于Tomcat的安装目录)
阶段二:web.xml 配置
<?xml version="1.0" encoding="ISO-8859-1"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1" metadata-complete="true"> <display-name>Welcome to Tomcat</display-name> <description> Welcome to Tomcat </description> <servlet> <servlet-name>default</servlet-name> <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> <init-param> <param-name>readonly</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>listings</param-name> <param-value>false</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet></web-app>
<init-param>
<param-name>readonly</param-name>
<param-value>false</param-value>
</init-param>
表示开放网站的PUT和DELETE方法。
三、测试程序配置
import java.io.File;import java.io.IOException;import java.io.InputStream;import java.util.Timer;import java.util.TimerTask;import javax.swing.text.html.parser.Entity;import org.apache.http.Header;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.HttpClient;import org.apache.http.client.methods.HttpDelete;import org.apache.http.client.methods.HttpGet;import org.apache.http.client.methods.HttpHead;import org.apache.http.client.methods.HttpPost;import org.apache.http.client.methods.HttpPut;import org.apache.http.entity.FileEntity;import org.apache.http.entity.StringEntity;import org.apache.http.impl.client.HttpClients;//CloseableHttpClient,CloseableHttpResponse/* * HttpGet--->HttpRequestBase---->AbstractExecutionAwareRequest(类) * ----->HttpUriRequest--->HttpRequest(接口) * *///下载速率的计算方法:一秒后数据量-一秒前数据量public class MainApp { //设立线程的共享的数据 private static long counter=0; private static void displayThread() { //显示进程 Timer t=new Timer(); TimerTask task=new TimerTask() { private long temp=0; private long speed=0; public void run() { speed=counter-temp; temp=counter; System.out.print("spped:"+speed/1000+"KB/s"); System.out.println("\t Download Bytes:"+counter); } }; t.schedule(task, 2000,1000);//时间为毫秒,1秒=1000毫秒 } private static void testGetMethod(String url) throws ClientProtocolException, IOException { HttpClient httpclient = HttpClients.createDefault(); HttpGet request=new HttpGet(url); request.addHeader("Accept", "*/*"); //显示请求头 System.out.println(request.getRequestLine().toString()); for(Header h:request.getAllHeaders()) System.out.println(h.getName()+":"+h.getValue()); HttpResponse response=httpclient.execute(request); //显示响应头 System.out.println(); System.out.println(response.getStatusLine().toString()); for(Header h:response.getAllHeaders()) System.out.println(h.getName()+":"+h.getValue()); HttpEntity he=response.getEntity(); //接收字节统计 InputStream is=he.getContent();while (is.read() != -1) {counter++;} } private static void testHeadMethod(String url) throws ClientProtocolException, IOException { HttpClient httpclient = HttpClients.createDefault(); HttpHead request=new HttpHead(url); //显示请求头 System.out.println(request.getRequestLine().toString()); for(Header h:request.getAllHeaders()) System.out.println(h.getName()+":"+h.getValue()); System.out.println(); HttpResponse response=httpclient.execute(request); //显示响应头 System.out.println(response.getStatusLine().toString()); for(Header h:response.getAllHeaders()) System.out.println(h.getName()+":"+h.getValue()); } private static void testPostMethod(String url) throws ClientProtocolException, IOException { HttpClient httpclient = HttpClients.createDefault(); HttpPost request=new HttpPost(url); //显示请求头 //request.setHeader("Content-Type", "application/x-www-form-urlencoded;charset=gb2312"); StringEntity entity=new StringEntity("bbbbbbbbb"); entity.setChunked(true); request.setEntity(entity); System.out.println(request.getRequestLine().toString()); for(Header h:request.getAllHeaders()) System.out.println(h.getName()+":"+h.getValue()); System.out.println(); HttpResponse response=httpclient.execute(request); //显示响应头 System.out.println(response.getStatusLine().toString()); for(Header h:response.getAllHeaders()) System.out.println(h.getName()+":"+h.getValue()); } private static void testPutMethod(String url) throws ClientProtocolException, IOException { HttpClient httpclient = HttpClients.createDefault(); HttpPut request=new HttpPut(url); //entity.setChunked(true); //request.setEntity(entity); System.out.println(request.getRequestLine().toString()); for(Header h:request.getAllHeaders()) System.out.println(h.getName()+":"+h.getValue()); System.out.println(); HttpResponse response=httpclient.execute(request); //显示响应头 System.out.println(response.getStatusLine().toString()); for(Header h:response.getAllHeaders()) System.out.println(h.getName()+":"+h.getValue()); } private static void testDeleteMethod(String url) throws ClientProtocolException, IOException { HttpClient httpclient = HttpClients.createDefault(); HttpDelete request=new HttpDelete(url); //entity.setChunked(true); //request.setEntity(entity); System.out.println(request.getRequestLine().toString()); for(Header h:request.getAllHeaders()) System.out.println(h.getName()+":"+h.getValue()); System.out.println(); HttpResponse response=httpclient.execute(request); //显示响应头 System.out.println(response.getStatusLine().toString()); for(Header h:response.getAllHeaders()) System.out.println(h.getName()+":"+h.getValue()); } public static void main(String[] args) throws InterruptedException, ClientProtocolException, IOException { String url_ext="http://releases.ubuntu.com/14.04.2/ubuntu-14.04.2-desktop-amd64.iso"; //创建abc文件 testPutMethod("http://127.0.0.1:8080/test/abc"); testGetMethod("http://127.0.0.1:8080/test/abc"); testPostMethod("http://127.0.0.1:8080/test/abc"); testDeleteMethod("http://127.0.0.1:8080/test/abc"); }}
- Tomcat 网站配置和HTTP四种方法测试
- 配置tomcat支持http delete和put的方法
- 配置tomcat支持http delete和put的方法
- tomcat同时使用http和https访问的配置方法
- tsung测试http的get和post方法配置
- Tomcat虚拟目录配置和测试
- 用Jporbe测试tomcat的配置方法
- HTTP协议基础和TOMCAT环境配置
- Tomcat服务器常用配置和HTTP简介
- Tomcat服务器常用配置和HTTP简介
- tomcat网站更目录和端口配置
- tomcat 默认网站和虚拟目录配置
- Tomcat中更改网站根目录和默认页的配置方法
- Tomcat中更改网站根目录和默认页的配置方法
- Tomcat中更改网站根目录和默认页的配置方法
- Tomcat中更改网站根目录和默认页的配置方法
- Tomcat中更改网站根目录和默认页的配置方法
- Tomcat中更改网站根目录和默认页的配置方法
- Ubuntu 下hadoop 2.6.0集群搭建
- 挑战2.2 Best Cow Line(POJ 3617)
- 正则表达式之python实现
- mac 安装软件提示权限不足的解决办法
- 个性
- Tomcat 网站配置和HTTP四种方法测试
- 数学建模-二胎政策对中国人口的影响
- mac自定义tree命令
- UVA - 10098 - Generating Fast (枚举排列)
- UML迷惑
- Servlet+JDBC+MySQL简单web练习
- Java中只有按值传递,没有按引用传递!
- 项目经理 VS 产品经理 (工作职责和要求)
- 2014计算机求职总结---面试篇