1.基本概念:
1.1web开发的相关知识:
web即就是网页的意思,它用来表示Internet主机上供外界访问的资源,Internet上供外界访问的资源科分为:
静态web资源(Html):浏览器中供人浏览的数据是不变的;
动态web资源(jsp/servlet php asp):网页中供人浏览的数据是由程序提供的,不同的时间点,提供的数据是不相同的。
(在Java中动态web资源开发技术,统称为Javaweb)
1.2Web应用程序:
web应用程序就是浏览器访问的程序,通常简称为web应用。一个web应用由多个静态web资源和动态web资源组成,如:html、css、js文件,Jsp文件、java程序、支持jar包、配置文件等等。Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚似目录的映射。
1.3Web发展史:
静态web:服务器会直接的读取Html的数据;
缺点:
- 用户浏览到的数据无法更新
- 使用JavaScript,VBScript可以让它动起来
动态web:
主要特征:会从服务器获取数据,web页面因人而变
优点:
- 可以实现真正的用户交互
1.4动态web的实现手段:
- PHP
- ASP:微软 IIS
- JSP/Servlet :B / S架构 ---》性能高;跨平台(使用字节码文件);
1.5一些web服务器:
- IIS(微软)
- Tomcat(性能优良,非常小)
- WebLogic
- WebShare
(为什么要搭建web开发环境?)
在本地计算机上随便创建一个web页面,用户是无法访问到的,但是如果启动tomcat服务器,把web页面放在tomcat服务器中,用户就可以访问了。这说明什么问题?
1、不管什么web资源,想被远程计算机访问,都必须有一个与之对应的网络通信程序,当用户来访问时,这个网络通信程序读取web资源数据,并把数据发送给来访者。
2、WEB服务器就是这样一个程序,它用于完成底层网络通迅。使用这些服务器,We应用的开发者只需要关注web资源怎么编写,而不需要关心资源如何发送到客户端手中,从而极大的减轻了开发者的开发工作量。
2.Tomcat服务器的研究:
启动Tomcat服务器
双击 bin 目录下的 startup.bat 文件启动Tomcat服务器
2.1 8080端口的问题:
在conf/server.xml配置文件配置了我们服务器相关一些服务,我们可以修改其内容,改变tomcat运行的端口号。
2.2 如何发布一个项目:
将项目拷贝到:tomcat-9.0.20webapps 目录下,然后在cmd中,启动Tomcat,浏览器中输入相应的url。
(注意:项目中必须要有一个 Web-INF目录 ,其中必定有一个web.xml)
3.使用Idea搭建web开发环境:
- 创建一个web项目
- 配置Tomcat
4.HTTP协议:
HTTP:超文本传输协议;
常用的响应值:
200:ok
302:重定向
404:请求的文件不在,一般是路径写错了
500:服务器代码写错了,Java程序有问题
5.Servlet:
5.1简介:
Servlet是sun公司专门用来开发动态web资源的技术。
Sun公司在其API中提供一个servlet接口,用户若想发布一个动态web资源(即开发一个Java程序向浏览器中输出数据)需要完成如下步骤:
- 编写一个Java类,实现servlet接口
- 把开发好的Java类部署到web服务器中
- 通常也把实现了servlet接口的java类称为servlet
5.2servlet的运行过程:
5.3servlet的实现类:
servlet接口Sun公司定义了两个默认的实现类,GenericServlet,HttpServlet。
6.Idea开发servlet:
- 创建一个web项目
- 配置Tomcat
- 创建一个servlet(相当于一个Java类)
- 导包:(Idea中 " ait+enter ")会自动导包
- 去配置相应的web.xml文件
<servlet>
servlet的名字;类加上包名 <servlet-name>ServletTest1</servlet-name> <servlet-class>com.xbf.ServletTest1</servlet-class> </servlet> <servlet-mapping>
servlet的名字;浏览器访问的url <servlet-name>ServletTest1</servlet-name> <url-pattern>/aaaa</url-pattern> </servlet-mapping>
- 在浏览器中输入url进行测试
7.ServletContext
web容器在启动时,会给每个web应用程序都创建一个对应的servletcontext对象,它代表当前的web应用。
多个servlet可以通过ServletContext对象实现数据共享(通过ServletContext对象实现数据共享。)。
利用ServletContext实现请求转发。
利用ServletContext对象读取资源文件。