Servlet(1)—Servlet容器tomcat和HTTP协议
- Servlet容器为JavaWeb应用提供运行时环境,它负责管理Servlet和JSP的生命周期,以及管理他们的共享数据。
- Servlet容器也称JavaWeb应用容器,或者Servlet/JSP容器。
- 目前最流行的Servlet容器包括:
- Tomcat
- Resin
- .J2EE服务器(如weblogic)中也提供了内置的Servlet容器
- Tomcat
- 是免费的开放源码的Serrvlet容器,有Apache、sun和其他的一些公司及个人共同开发而成,由于有了sun的参与与支持
最新的Servlet和JSP规范总能在Tomcat中得到体现。 - 其目录结构:
bin:存放启动和关闭Tomcat的脚本文件
conf:存放Tomcat服务器的各种配置文件
lib:存放Tomcat服务器和所有的web应用程序需要访问的jar文件
logs:存放Tomcat的日志文件
temp:存放Tomcat运行时产生的临时文件
webapps:当发布web应用程序时,通常把web应用程序的目录及文件放到这个目录下
work:Tomcat将JSP产生的Servlet源文件和字节码文件放到这个目录下 - 部署并启动tomcat服务器
解压Tomcat压缩包到非空目录下
配置环境变量,java_home(指向jdk的根目录)或jre_home
通过bin目录下的startup.bat启动服务器(若是启动窗口一闪而过)
可以在浏览器中输入localhost:8080检验Tomcat是否安装成功
若已经启动了一个Tomcat应用,再启动一个应用时就会抛出异常(java.net.BindException:
Address already in use:JVM_Bind:8080)这是因为已经启动过一个应用程序,8080端口被占用了。 - 启动或关闭
方法一:双击bin目录下的startup.bat,运行shutdown.bat关闭开启,
方法二:若是想在命令提示符中bin目录下运行,需要配置环境变量JAVA_HOME=C:\Program Files\Java\jdk1.7.0_67
方法三:若是想在命令提示符中任意目录下运行,需要两步,一:把apache安装路径E:\briup\apache-tomcat-7.0.55\bin添加加到path中
二:新建一个环境变量catalina,值为E:\briup\apache-tomcat-7.0.55
方法四:若是想在当前窗口运行tomcat,使用命令catalina run,关闭使用ctrl+c。
注意catalina命令有一下可选参数:
commands:
debug Start Catalina in a debugger
debug -security Debug Catalina with a security manager
jpda start Start Catalina under JPDA debugger
run Start Catalina in the current window
run -security Start in the current window with security manager
start Start Catalina in a separate window
start -security Start in a separate window with security manager
stop Stop Catalina
configtest Run a basic syntax check on server.xml
version What version of tomcat are you running? - 修改端口号
在conf目录下,打开server.xml,在67多行,找到
- 是免费的开放源码的Serrvlet容器,有Apache、sun和其他的一些公司及个人共同开发而成,由于有了sun的参与与支持
<role rolename="manager-gui"/>
<user username="tomcat" password="s3cret" roles="manager-gui"/>
5 . HTTP协议
介绍:Web浏览器和Web服务器之间的一问一答的交互过程,必须遵循一定的规则,这个规则就是HTTP协议。
HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议集中的一个应用层协议,用于定义
Web浏览器与web服务器之间交换数据的过程以及数据本身的格式。
HTTP协议版本:HTTP/1.0、HTTP/1.1、HTTP/NG会话方式
建立链接
发出请求信息
回送应信息
关闭链接
浏览器与web服务器之间的所有的通信都是完全独立分开的请求和响应对- HTTP请求消息结构
一个请求行、若干消息头、以及实体内容,其中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开。 get请求和post请求
响应消息的实体内容就是网页文件的内容,也就是在浏览器中使用查看源文件的方式所看到的内容,一个使用get方式的请求
消息中不能包含实体内容,只有使用post、put和delete方式的请求消息中才可以包含实体内容 。
get
在浏览器中输入某个URL地址,或者单击某个超链接时浏览器发送的HTTP请求消息的请求方式为GET请求,超链接是一个get请求。
或者在form表单中method属性的值设置为get,浏览器提交的这个请求也是get请求
get方式特点:传送的数据量有限制的,一般限制在1Kb以下,get请求把请求参数附着在url后边用问号连接
get方式传递参数格式:
http://localhost:8080/Demo4/loginServlet?user=tengpengfei&password=817425post
post请求方式主要用于向web服务器端程序提交form表单中的数据,post请求方式将各个表单字段元素,以及数据作为HTTP消息的实体内容发送给web服务器。
form表单指定请求方式为post时
post方式特点:比get方式传送的数据量要大得多。
Servlet(1)—Servlet容器tomcat和HTTP协议的更多相关文章
- 对于Servlet、Servlet容器以及一个Servlet容器-Tomcat
Servlet.Servlet容器等内容讲解 转载自http://blog.csdn.net/iAm333 对于Servlet.Servlet容器以及一个Servlet容器-Tomcat这些概念讲解的 ...
- Servlet容器Tomcat中web.xml中url-pattern的配置详解[附带源码分析]
目录 前言 现象 源码分析 实战例子 总结 参考资料 前言 今天研究了一下tomcat上web.xml配置文件中url-pattern的问题. 这个问题其实毕业前就困扰着我,当时忙于找工作. 找到工作 ...
- HTTP协议 Servlet入门 Servlet工作原理和生命周期 Servlet细节 ServletConfig对象
1 HTTP协议特点 1)客户端->服务端(请求request)有三部份 a)请求行--请求行用于描述客户端的请求方式.请求的资源名称,以及使用的HTTP协议版本号 请求行中的GET ...
- Servlet、Servlet容器等内容讲解
转载自http://blog.csdn.net/iAm333 对于Servlet.Servlet容器以及一个Servlet容器-Tomcat这些概念讲解的挺清晰的,转载下 之前在开源中国看到一篇文章& ...
- Servlet 和 Servlet容器
Servlet 很多同学可能跟我一样始终没有搞清楚到底什么是 Servlet,什么是 Servlet 容器.网上看了很多帖子,或许人家说的很清楚,但是自己的那个弯弯就是拐不过来. 想了很久说一下自己的 ...
- JAVA网络编程基本功之Servlet与Servlet容器
Servlet与Servlet容器关系 Servlet 比较这两个的区别, 就得先搞清楚Servlet 的含义, Servlet (/ˈsərvlit/ ) 翻译成中文就是小型应用程序或者小服务程序, ...
- Java Servlet与Web容器之间的关系
自从计算机软件开发进入网络时代,就开始涉及到通讯问题.在客户/服务器(也叫C/S应用)时期,每个软件都有自己的客户端和服务器端软件.并且客户端和服务器端之间的通讯协议差别也很大.后来随着互联网的发展, ...
- 【Java】servlet和servlet 容器
servlet不是线程安全的,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,所以你的项目中如果只有一个servlet,那么web容器就只会创建一个实例 ...
- JavaWeb开发之详解Servlet及Servlet容器
自JavaEE诞生伊始,Servlet容器和Servlet技术,就构成了JavaEE应用的核心,配合其它组件,它们完善了Java企业级开发的全套解决方案.小到一个静态博客网站,大到分布式的集群应用,都 ...
随机推荐
- Git Flow,Git团队协作最佳实践
规范的Git使用 Git是一个很好的版本管理工具,不过相比于传统的版本管理工具,学习成本比较高, 实际开发中,如果团队成员比较多,开发迭代频繁,对Git的应用比较混乱,会产生很多不必要的冲突或者代码丢 ...
- sql select中加入常量列
string sql="select a,b,'常量' as c from table" 注:单引号' ' 很重要,否则编译时会把其看成查询参数,从而提示参数未指定错误
- ReactNative调试技术-真机调试
在我开始用ReactNative开始开发APP时,为了能够获取程序运行中的信息,就需要搭建调试环境. 手机调试方式有两类,一类是模拟器方式,另一类是真机模式. 我测试了一下相应的模拟器: 如果用谷歌管 ...
- 如何禁止某个linux用户访问某些文件夹及执行某些命令
方案1: 给这个文件A增加个a的隐藏属性,只能增加数据不能删除修改数据,只有root能设置这个隐藏属性 chattr +a A lsattr A 可以查看隐藏属性 方案2: 修改文件所属用户和组,普通 ...
- 系统环境变量(就是不需要切换目录,敲击“python”就可以进入编码器)
1.右击我的电脑,选择属性,选择“高级系统设置” 2.选择高级,选择环境变量 3.在系统变量中找到path,点击编辑.然后新建,将python的路径复制进去,点击确定.
- jquery对form表单复杂(多个)条件的判断验证
//按钮先执行验证再提交表 $(document).ready(function(){ // 点击查看图片 $('.nyroModal').nyroModal(); //按钮先执行验证再提交表单 $( ...
- JavaScript onmousewheel鼠标滚轮示例
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- 数学模型:3.非监督学习--聚类分析 和K-means聚类
1. 聚类分析 聚类分析(cluster analysis)是一组将研究对象分为相对同质的群组(clusters)的统计分析技术 ---->> 将观测对象的群体按照相似性和相异性进行不同群 ...
- css3 webkit-box的用法
webkit-box 1.之前要实现横列的web布局,通常就是float或者display:inline-block; 但是都不能做到真正的流体布局.至少width要自己去算百分比.2.flexibl ...
- 3-6 Vue中的条件渲染
本次案例讲解:v-if,v-show,v-else,v-else-if和key值的相关用法!!! v-if指令: //通过一个(v-if)指令 ,可以结合js表达式的返回值,决定一个标签是否在页面上展 ...