tomcat服务器与Http协议之请求(get请求、post请求)和响应

本文主要介绍了在Web开发中,Tomcat服务器如何处理HTTP协议的请求,包括GET和POST请求的方式,以及对应的HTTP响应过程。通过学习,读者可以深入理解Http协议的基础知识和在实际开发中的应用。
摘要由CSDN通过智能技术生成

/*
1)web服务软件作用: 把本地资源共享给外部访问
2)tomcat服务器基本操作	:
	启动:  %tomcat%/bin/startup.bat 
	关闭: %tomcat%/bin/shutdown.bat

	访问tomcat主页:
		http://localhost:8080
3)web应用目录结构
	|- WebRoot   根目录
		|-静态资源(html+css+javascript+images+xml)  可以直接被浏览器访问到的
		|-WEB-INF                                  不可以直接被浏览器访问到
			|-classes     存放class字节码文件
			|-lib         存放jar包文件
			web.xml      web应用的配置文件,配置servlet
		
4)Servlet技术: 用java语言开发动态资源的技术
	开发一个Servlet程序的步骤:
		1)创建一个java类,继承HttpServlet类
		2)重写HttpServlet类的doGet方法
		3)把写好的servlet程序交给tomcat服务器运行!!!!
			3.1 把编译好的servlet的class文件拷贝到tomcat的一个web应用中。(web应用										的WEB-INF/classes目录下)		
			3.2 在当前web应用的web.xml文件中配置servlet
				<!-- servlet配置 -->
				<servlet>
					<servlet-name>HelloServlet</servlet-name>
					<servlet-class>gz.itcast.HelloServlet</servlet-class>
				</servlet>
				<!--  servlet的映射配置 -->
				<servlet-mapping>
					<servlet-name> HelloServlet </servlet-name>
					<url-pattern>/hello</url-pattern>
				</servlet-mapping>
		4)访问servlet
			http://localhost:8080/myweb/hello

1)http协议: 对浏览器客户端和服务器端之间数据传输的格式规范。
2)http请求:浏览器->服务器端
	格式: 
		请求行(请求方式(GET/POST) 请求资源(URI) http协议版本(http1.1))
		请求头(键值对形式存在。 host、user-agent、referer)
		一个空行
		实体内容(POST提交的参数)
	HttpServletRequest对象: 请求对象。获取请求信息。
	请求行:request.getMethod()   request.getRequestURI/getRequestURL()  request.getProtocol();
	请求头: request.getHeader("name")    request.getHeaderNames()  
	实体内容: request.getInputStream() 

	获取参数数据:(GET或POST)
		request.getParameter("name")  一个值的参数
		request.getParameterValues("name"); 多个值的参数
		request.getParameterNames()    所有参数
				
3)http响应: 服务器->浏览器端
	格式: 
		响应行(http协议版本 状态码 描述)
			常用的状态码: 200   302  404   500
		响应头( location(结合302状态码完成请求重定向功能)、 refresh(定时刷新)、content-type、							content-disiposition(以下载方式打开)) 
		一个空行
		实体内容
	HttpServletResponse对象: 响应对象。设置响应信息。
		响应行: response.setStatus();
		响应头: response.setHeader("name","value")
		实体内容: 
			(PrintWriter) response.getWriter().writer(); 字符内容
			(OutputStream)response.getOutputStream().writer();  字节内容			
*/

1 Web开发入门

/*
1.1 引入
	之前的程序: java桌面程序,控制台控制,socket gui界面。javase规范
	现在和以后的程序:java web程序。浏览器控制。javaee规范
1.2 软件的结构
	C/S (Client - Server  客户端-服务器端)
			典型应用:QQ软件 ,飞秋,红蜘蛛。
			特点:
				1)必须下载特定的客户端程序。
				2)服务器端升级,客户端升级。

	B/S (Broswer -Server 浏览器端- 服务器端)
			典型应用: 腾讯官方(www.qq.com)  163新闻网站, 传智官网(俗称:网站)
			特点:
				1)不需要安装特定的客户端(只需要安装浏览器即可!!)
				2)服务器端升级,浏览器不需要升级!!!!

			javaweb的程序就是b/s软件结构!!!
1.3 服务器
	从物理上来说,服务器就是一台PC机器。8核,8G以上,T来计算,带宽100M

	web服务器:PC机器安装一个具有web服务的软件,称之为web服务器
	数据库服务器:PC机器安装一个具有数据管理件服务的软件,称之为数据库服务器。
	邮件服务器:PC机器安装一个具有发送邮件服务的软件,称之为邮件服务器。
1.4 web服务软件
	web服务软件的作用:把本地的资源共享给外部访问。

1.5 常见的市面上web服务软件
	javase的规范,包含IO流,线程,集合,socket编程。。。。
	WebLogic: BEA公司的产品。 收费的。支持JavaEE规范。
	WebSphere: IBM公司的产品。收费的。支持JavaEE规范
	JBoss: Redhat公司的产品。收费的。支持JavaEE规范
	Tomcat: 开源组织Apache的产品。免费的。支持部分的JavaEE规范。(servlet、jsp。jdbc,但	
	ejb, rmi不支持)
*/	
2 Tomcat基本使用
/*
2.1 下载并安装
	1)到apache官网。www.apache.org     http://jakarta.apache.org(产品的主页)
	2)安装版:window (exe、msi) linux(rmp)
	   压缩版:window(rar,zip) linux(tar,tar.gz)学习时候使用
	3)运行和关闭tomcat
		3.1 启动软件
			a)找到%tomcat%/bin/startup.bat ,双击这个文件
			b)弹出窗口,显示信息(不要关闭次窗口)
			c)打开浏览器,输出以下地址
				http://localhost:8080
			d)看到一只猫画面,证明软件启动成功!

		3.3 关闭软件
			a)找到%tomcat%/bin/shutdown.bat,双击这个文件即可!
			c)打开浏览器,输出以下地址。看到“无法连接”(最好先清空浏览器缓存)
			
2.2 tomcat软件使用的常见问题
	1)闪退问题
	原因:tomcat软件是java语言开发的。 tomcat软件启动时,会默认到系统的环境变量中查找一个名称叫JAVA_HOME的变量。这个变量的作用找到tomcat启动所需的jvm。
	解决办法; 到环境变量中设置JAVA_HOME的变量
		JAVA_HOME= C:\Program Files\Java\jdk1.6.0_30  (注意别配置到bin目录下)
			
	2)端口占用的错误
	原因: tomcat启动所需的端口被其他软件占用了!
	解决办法: 
		a)关闭其他软件程序,释放所需端口
		b)修改tomcat软件所需端口
		   找到并修改%tomcat%/conf/server.xml文件			
			<Connector port="8081" protocol="HTTP/1.1" 
				connectionTimeout="20000" 
				redirectPort="8443" />

		3)CATALINA环境变量问题
			原因: tomcat软件启动后,除了查找JAVA_HOME后,还会再查找一个叫CATALINA_HOME变量,这个变量的作用是设置tomcat的根目录。
			解决办法:建议不要设置CATALINA_HOME变量。检查如果有的话,清除掉!!!

2.3 体验tomcat软件作用
	webapps目录: tomcat共享目录。需要共享的本地资源放到此目录中。
	
2.4 URL
	URL全名叫统一资源定位符,用于定位互联网的资源。

	问题: http://localhost:8081/myweb/test.html  看到文件?

	http://     协议。http协议。
	localhost   域名。为了找到IP地址。
					本地域名: localhost
					外部域名:www.baidu.com
	8081       端口。软件监听的
				8080: tomcat默认的端口
				3306:mysql数据库的端口
				1521: orace数据库的端口。
	/myweb:   web应用的名称。默认情况下,在webapps目录下找
	/test.html  : 资源名称。
*/
3 Tomcat的目录结构
/*
|-bin: 存放tomcat的命令。
		catalina.bat命令:
			startup.bat  -> catalina.bat start	
			shutdown.bat - > catalina.bat stop
|-conf: 存放tomcat的配置信息。其中server.xml文件是核心的配置文件。
|-lib:支持tomcat软件运行的jar包。其中还有技术支持包,如servlet,jsp
|-logs:运行过程的日志信息
|-temp: 临时目录
|-webapps:共享资源目录。web应用目录。(注意不能以单独的文件进行共享)
|-work:tomcat的运行目录。jsp运行时产生的临时文件就存放在这里
*/
4 Web应用的目录结构
/*
|- WebRoot: web应用的根目录
		|- 静态资源(html+css+js+image+vedio)
		|- WEB-INF : 固定写法。
			|-classes: (可选)固定写法。存放class字节码文件
			|-lib: (可选)固定写法。存放jar包文件。
			|-web.xml    

注意:
	1)WEB-INF目录里面的资源不能通过浏览器直接访问
	2)如果希望访问到WEB-INF里面的资源,就必须
  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值