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 这个教程在国内已经被翻译成中 ...
随机推荐
- Response.Redirect(),Server.Transfer(),Server.Execute()的区别与网站优化
转 http://blog.csdn.net/dannywj1371/article/details/10213631 1.Response.Redirect():Response.Redirect方 ...
- C#获取URL参数值
原文:C#获取URL参数值 在写程序的时候,我们经常需要对页面进行传参数,比如page?id=1234,那么在page这个页面中就直接可以使用string id = Request.QueryStri ...
- 转:Hibernate使用SQLQuery
原文:http://hi.baidu.com/luo_qing_long/blog/item/783a15eceb75abdd2f2e21b0.html 对原生SQL查询执行的控制是通过SQLQuer ...
- Book 树状数组 小结
差不多花了10天学树状数组,是照着这篇博客做的题目,还差几道---------- http://blog.csdn.net/chenguolinblog/article/details/9916229 ...
- Airtest ——poco
1. Pymysql(No module named ‘cryptography’) pip install cryptography pip install paramiko 把 cryptogr ...
- C文件I/O超详细教程
本文主要参考了C Primer Plus (5th & 6th Edition) 您可以选择本文的部分内容来读,有些内容对于不熟悉MS-DOS的读者可能过于晦涩难懂. C语言文件基本知识 文件 ...
- 小学生都能学会的python(文件操作)
小学生都能学会的python(文件操作) 1. open("文件路径", mode="模式", encoding="编码") 文件的路径: ...
- Java并发和多线程3:线程调度和有条件取消调度
在第1篇中"并发框架基本示例",提到了Executors和ThreadPool.其中,还有个"定时调度"的方法,Executors.newScheduledTh ...
- a[i++]=a 数组下标自加优先问题
a[i++]=a 即是: a[i] = a;i ++;先把a赋值给数组a下标为 i 的 元素把 i 自加 1 :即指向下一个元素 =================================== ...
- POJ——T2186 Popular Cows || 洛谷——P2341 [HAOI2006]受欢迎的牛
http://poj.org/problem?id=2186 || https://www.luogu.org/problem/show?pid=2341 Time Limit: 2000MS M ...