一、web开发简述
1 web简述
world wide web 全球广域网、万维网,基于超文本、http、全球性、动态交互性、跨平台的分步式图形信息系统
2 BS和CS概述
BS:Browser-Server 浏览器-服务器模式,客户端使用浏览器来访问访问器
CS: Client Server 客户端 - 服务器模式,客户端通过安装客户端软件来访问服务器
3 web资源的类别
静态资源网站:没有后台数据库、不含程序和一些不可交互的网页
技术包括:HTML、CSS、JS
动态网页:以数据库为基础、网页是程序在运行过程中动态生成的
技术:jsp、servlet、C#、php、python
4 web服务器
使用javaweb技术栈编写的程序需要部署到服务器才能运行
硬件:计算机
软件:
将上述不属于业务核心的工作交给应用程序来做,应用程序就是web服务器
5 javaEE规范
java中所有的服务器要实现一组由Oracle公司规定的接口,这些接口称为javaEE规范 (13种)
webLogic服务器:Oracle公司产品目前应用最广泛的服务器,收费 (大型服务器)
tomcat服务器:Apache产品 (小型服务器)实现全部jsp和setvlet规范
二、tomcat的使用
1 tomcat的产品页面: http://tomcat.apache.org/
2 tomcat 环境变量配置
设置环境变量
新建CATALINA_HOME
设置访问路径
3 tomcat目录结构
目录名 | 作用 |
---|---|
bin | 启动和关闭tomcat可执行文件 |
conf | 配置文件夹,有些重要配置文件在这下面。如:server.xml, web.xml等 不建议乱修改,可能导致tomcat不能启动 |
lib | tomcat使用时依赖的一些第三方jar包 |
logs | 日志记录文件,记录服务器运行过程中一些事件。包括运行过程中出现异常 |
temp | 临时文件夹,保存服务器运行过程中生成的一些垃圾文件 |
webapps | 我们做好的项目发布的目录,可以通过浏览器来直接访问 |
ROOT目录:在浏览器上看到的欢迎页面,在这个目录下 | |
work | tomcat工作目录,所有已经发布项目,在这里生成中间文件执行 |
4 启动与关闭
shutdown.bat
startup.bat
在浏览器上访问:http://localhost:8080
5 tomcat发布方式
5.1 方式一 webapps
在webapps目录下创建一个文件夹demo,在文本夹下面有一个hello.html
重启服务器
访问:http://localhost:8080/demo/hello.html
5.2 方式二 虚拟目录
在conf/server.xml文件的host元素配置context标签
path属性:虚拟访问目录名称
docBase属性: web应用所在目录
好处:项目不需要发布在webapps目录下,因为webapps目录越多,tomcat启动越慢
6 修改tomcat端口
默认端口:8080
修改:conf/server.xml文件中修改
三、Servlet快速入门
1 什么是servlet
一个java写的小应用程序,运行在web容器中,用于处理用户的请求,并作出响应
servlet与普通java程序的区别:
1.1 普通的java程序由main函数调用,servlet由web容器调用
1.2 servlet运行在web容器中
1.3 对浏览器发送过来的请求做出响应
2 Servlet基于xml配置
2.1 创建web工程/模块
2.2 创建好的Web结构如下
2.3 为项目添加tomcat库
2.4 查看模块依赖![请添加图片描述](https://img-blog.csdnimg.cn/8061a7cb32db4f12ad90b9056ad8130f.png
2.5 在idea中运行Servlet
配置tomcat
3 Servlet基于注解配置
@WebServlet注解属性 | 说明 |
---|---|
name = “HelloServlet” | Servlet名字,类似于<servlet-name>one</servlet-name> |
urlPatterns = “/hello” | 访问地址,可以指定多个地址<url-pattern>/hello</url-pattern> |
value=“/hello” | 如果其它属性都不写,可以省略urlPatterns,只写访问地址即可。不能与urlPatterns同时指定 |
注解开发servlet代码,继承于HttpServlet,重写service方法
四、Servlet进阶
1 servlet 生命周期
1.1 servlet接口中方法生命周期
创建:默认第一次请求创建
销毁:服务器关闭销毁
创建次数:一次
方法 | 作用 | 运行次数 |
---|---|---|
构造方法 | 在对象实例化的时候执行 | 1次 |
void init(ServletConfig config) | 在初始化的时候执行 | 1次 |
void service(ServletRequest req, ServletResponse res) | 每次请求都会执行 | n次 |
void destroy() | 在服务器关闭的时候 | 1次 |
1.2 servlet 运行过程
一个Servlet类在Tomcat中只会生成一个对象,不同的浏览器是不同的用户,每个用户是一个线程
request对象和response对象是tomcat创建的,通过service方法传递进来
2 Servlet的执行过程
2.1 浏览器发送请求,tomcat接收到请求的地址找到访问哪个项目,通过最后的/hello,找项目中所有的servlet
2.2通过反射读取每个servlet,匹配到/hello,找到需要访问的servlet
2.3 通过反射实例化这个Servlet对象
2.4 tomcat创建request和response对象
2.5 调用service方法将requeset和response对象传递过来
2.6 执行servlet中的代码
2.7 将响应的信封装成response对象返回到浏览器
3 Servlet 继承体系
现在所有的浏览器都是使用http协议,所以继承HttpServlet类就可以了
4 HttpServlet
在Servlet规范中,只要请求到了Servlet,那么将执行service()方法,HttpServlet的service方法做了以下功能