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 这个教程在国内已经被翻译成中 ...
随机推荐
- javascript前端如何使用google-protobuf
1.首先下载google的protobuf的compiler,通过编译器可以将.proto文件转换为想要的语言文件. 下载地址:https://repo1.maven.org/maven2/com/g ...
- stm8s103调试注意点
外设时钟的配置,有次ADC就是不工作,查问题查了很久,总是怀疑ADC配置问题,然后利用库函数的例程,发现就可以,最后发现,外设时钟没开启,外设时钟如下配置 CLK->PCKENR1 = 0x00 ...
- CF1012B Chemical table 构造_思维_并查集
我们可以将横坐标和纵坐标看成是点.发现这些点之间是有传递性的. 题中说明,如果有矩阵中三个顶点被选,则底角的点也会被覆盖,发现这些点之间是有传递性的.那么我们最终达到的目的就是使整个图中只有 111 ...
- background--详解(背景图片根据屏幕的自适应)
background:有以下几种属性: background-color background-position background-size background-repeat backgroun ...
- C# 基础复习 四 多线程
单线程和多线程的区别 单线程: 只用主线程处理,如果一个操作在占用主线程,那么其他操作则无法执行 多线程: 除了主线程外,还开启了子线程来执行操作,子线 ...
- 移动端和pc端的判断,不同端做不同的处理
1.通过js判段是pc端还是移动端 function browserRedirect() { var type = ""; var sUserAgent = navigator.u ...
- nodejs+express搭建服务器
1.Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具. 使用 Express 可以快速地搭建一个完整功能 ...
- APICloud资料
//语音读text里面的文字 var text=document.getElementById('ready').value; alert(text); var obj = api.require(' ...
- 根据 thread id 停止一个线程
出自 https://github.com/Bogdanp/dramatiq/blob/master/dramatiq/middleware/threading.py#L62 thread_id = ...
- v-model指令后面跟的参数(number、lazy、debounce)
1. number 想将用户的输入自动转换为Number类型(如果原值的转换结果为NaN, 则返回原值) 2. lazy 在默认情况下, v-model在input事件中同步输入框的值和数据, 我们可 ...