Servlet基础(一)
JavaEE:企业级开发技术
<一.基础概念>
j2ee:jdk1.1--1.4 ----->> j2ee1.1 1.2
javaee:jdk--5,6,7 --->>javaee 5,6,7
javaee与servlet,jsp
Servlet:前后台传递数据,基于网络的HTTP请求的处理
实现需要借助web容器
JSP:HTML和嵌入之中的java代码组成
http服务器,web容器,Javaee应用服务器:
http服务器:处理http请求,默认处理静态资源(项目资
源分为静态资源(可被浏览器直接解析)和动态资源(不可以
被浏览器直接解析,需要服务器进行解析或者支持web容器))
apche
web容器:可以处理http请求,既可以处理静态资源,又可
以处理动态资源,但效率低
tomcat
javaee应用服务器:大型服务器,处理大型项目
jboss weblogic
tomcat服务器和http协议请求
1.浏览器向服务器发送请求
(将浏览器想要发送的内容以字符串的形式传给服务器
请求行:请求方式(form表单 get/post)+请求资源
+http版本号
请求头:k:v格式
k:v
content-type:text/html(代表从服务器返回的
资源类型)
回车换行(空白行)
请求体
)
2.服务器响应
(在服务器内部寻找,存在,返回响应
响应行:响应状态(200 ok)
响应头:k:v格式
k:v
空白行
响应体:返回响应内容
)
字符串形式:io流
遵从HTTP协议
HTTP协议:1.客户端和服务端传输数据的方式
2.传输数据的格式
tomcat服务器与jsp,servlet
运行需要web容器,在服务器中运行,要部署在tomcat服务
器中
<二.Tomcat>
bin:存放运行tomocat需要的命令文件
stratup.bat 开启 .sh unix系统
shutdown.bat 关闭服务器 .sh unix系统
conf:配置文件
server.xml
web.xml:servlet配置模板
lib:项目运行所需要的jar包,可共享到项目中
jsp-api.jar
servlet-api.jar
logs:存放日志信息
temp:运行时产生的临时文件,缓冲数据
webapps:存放web项目的位置
work:管理jsp页面
<三.Web项目机构>
1.web项目名就是文件夹
2.固定文件夹:WEN-INF
文件夹:classes --java代码编译为class文件后存放在该
文件夹中
lib--存放web项目在运行时需要的第三方jar包,
这些jar包是项目自己所使用的,而多个项目中需要的jar包放
在tomcat的jar包中
文件:web.xml--web项目的配置文件,,tomcat服务器在
启动期间会自动读取其中内容
(自动读取原因:
1.web项目是在tomcat中部署的
2.web项目结构是固定的
)
<四>浏览器通过url地址,访问web项目中的java代码(动态资源)
要求:
浏览器中输入
http://127.0.0.1:8989/web_test/hello
访问到
HelloWorld类中指定的方法
实质:通过浏览器向web服务器中某个地址发送http协
议的请求(get或post等),让服务器自动调用某个对象中的指定
方法,从而让该方法执行完可以给本次http请求返回一个http响
应。最后浏览器收到响应后进行解析并显示给用户结果(一般会
是一个页面)。
url地址--调用-->java对象中的方法(servlet技术)
在javaee规范中,想实现 这种通过浏览器的地址访问
web项目中的java对象里面的方法 这个功能,就必须按照javaEE
中的相关规范来编写代码(servlet技术就是这个规范
<五>实现servlet功能的步骤:
1.编写servlet
自己写一个普通类,然后去实现或者继承
javaEE规范中所提供的指定接口或者父类,然后再重写指定方法
.这个指定接口或者父类都在tomcat的lib目录里面的servlet-
api.jar中
2.在web.xml文件中配置自己编写好的servlet
因为servlet对象的创建,以及对象中指定方
法的调用,都是由tomcat服务器来负责处理的。
web.xml配置文件有tomcat服务器在期间必须
要读取的web项目的中的一个文件,所有要把自己写好的servlet
相关信息配置到web.xml中,以便让tomcat及时的知道这些信息,
然后就可以创建对象和调用方法了.
<servlet>
<servlet-name>test</servlet-
name>
<servlet-
class>com.briup.test.HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>test</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
Servlet基础(一)的更多相关文章
- JSP数据交互(二)和Servlet基础
01.Application原理与应用 01.application对象的作用域范围是整个应用服务,而它在应用中所承担的责任就类似于一个全局变量.只要服务启动,则application对象就会存在. ...
- Servlet基础(三) Servlet的多线程同步问题
Servlet基础(三) Servlet的多线程同步问题 Servlet/JSP技术和ASP.PHP等相比,由于其多线程运行而具有很高的执行效率. 由于Servlet/JSP默认是以多线程模式执行的, ...
- Servlet基础(二) Servlet的生命周期
Servlet基础(二) Servlet的生命周期 Servlet的生命周期可以分为三个阶段: 1.初始化阶段 2.响应客户请求阶段 3.终止阶段 Servlet的初始化阶段 在下列时刻Servlet ...
- Servlet基础(一) Servlet简介 关键API介绍及结合源码讲解
Servlet基础(一) Servlet基础和关键的API介绍 Servlet简介 Java Servlet是和平台无关的服务器端组件,它运行在Servlet容器中. Servlet容器负责Servl ...
- JSP/Servlet基础语法
相关学习资料 http://my.oschina.net/chape/blog/170247 http://docs.oracle.com/cd/E13222_01/wls/docs81/webapp ...
- Servlet基础简单总结(上)
Servlet基础一些简单总结(上): 1.Java Servlet是运行在Web服务器上的Java程序2.Java平台给Servlet开发者提供了强大的API/面向对象编程平台无关/强类型/垃圾回收 ...
- servlet总结:Servlet基础
Servlet基础 1.手工编写第一个Servlet ⑴继承HttpServlet ⑵重写doGet()或者doPost()方法 ⑶在web.xml中注册Servlet 2.使用eclipse编写第一 ...
- servlet基础(组成与生命周期)
servlet基础作用:servlet是运行在Web服务器或应用服务器上的程序:担当web浏览器或其他HTTP客户程序发出的请求与HTTP服务器上的数据库或应用程序之间的中间层.1.读取客户程序发送的 ...
- Unit01: Servlet基础 、 HTTP协议
Unit01: Servlet基础 . HTTP协议 在页面上输出当前时间 package web; import java.io.IOException; import java.io.PrintW ...
- Servlet基础教程:tutorialspoint-servlet
来自turorialspoint的Servlet基础教程(英文),官网:https://www.tutorialspoint.com/servlets/index.htm 这个教程在国内已经被翻译成中 ...
随机推荐
- CaffeNet用于Flickr Style数据集上的风格识别
转自 http://blog.csdn.net/liumaolincycle/article/details/48501423 微调是基于已经学习好的模型的,通过修改结构,从已学习好的模型权重中继续训 ...
- Java 多线程(二)synchronized和volatile
脏读: 脏读指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据.总的来说取到的数据是其实是被更改过的,但还没有保存到数 ...
- 达夫设备之js
最近阅读<高性能JavaScript>时,在书中的“达夫设备“ . 对此,有些感悟,同时有些疑问,希望看到的朋友,能帮忙解释下,在此先提前感谢了. 1. 先说自己的理解吧: ”达夫设备“的 ...
- 代码行数统计(mac)
如何统计自己的代码量?下面介绍两个方法: 一.cloc 1.首先,安装homebrew,已安装的请跳过. 打开终端工具Terminal,输入下列命令.过程中会让你按RETURN键以及输入mac桌面密码 ...
- Lucene倒排索引结构及关系
- 如何解决zabbix中自定义监控mysql因密码造成的 Warning
1.--show-warnings=false 在指定mysql命令获取参数时,指定不获取 Warning.不过亲测这个方法不是很有效 例如: mysql -uroot -p123 --show-wa ...
- PHP中的 Iterator 与 Generator
在讲解生成器之前先介绍一下迭代器: 在 PHP 中,通常情况下遍历数组使用 foreach 来遍历. 如果我们要想让一个对象可以遍历呢? PHP 为我们提供了 Iterator 接口,只要实现了这个接 ...
- web.xml中Filter过滤器标签说明
原文:http://www.cnblogs.com/edwardlauxh/archive/2010/03/11/1918618.html 在研究liferay框架中看到Web.xml中加入了过滤器的 ...
- IE6浏览器不支持固定定位(position:fixed)解决方案(转)
IE6浏览器不支持固定定位(position:fixed)解决方案 来源:互联网 作者:佚名 时间:12-04 10:54:05 [大 中 小] 点评:有些朋友在进行网页布局时,会遇到IE6浏览器 ...
- C#-入门思维导图
C#-入门思维导图 百度云盘 链接:http://pan.baidu.com/s/1jI5zMS2 密码:0ypc 如有错误,请告知我