请求:浏览器(客户端)向服务器发送信息
响应:服务器向(客户端)浏览器回送信息
请求和响应是成对出现的。
动态web技术:servlet,jsp,php, .net ,ruby、python等等
web服务器简介:
Tomcat:由Apache组织提供的一种Web服务器,提供对jsp和Servlet的支持。它是一种轻量级的javaWeb容器(服务器),也是当前应用最广的JavaWeb服务器(免费)。
Jboss:是一个遵从JavaEE规范的、开放源代码的、纯Java的EJB服务器,它支持所有的JavaEE规范(免费)。
GlassFish: 由Oracle公司开发的一款JavaWeb服务器,是一款强健的商业服务器,达到产品级质量(应用很少,收费)。
Resin:是CAUCHO公司的产品,是一个非常流行的应用服务器,对servlet和JSP提供了良好的支持,性能也比较优良,resin自身采用JAVA语言开发(收费,应用比较多)。
WebLogic:是Oracle公司的产品,是目前应用最广泛的Web服务器,支持JavaEE规范,而且不断的完善以适应新的开发要求,适合大型项目(收费,用的不多,适合大公司)。
开源小型web服务器 ,完全免费,主要用于中小型web项目,只支持Servlet和JSP 等少量javaee规范(就是JavaWeb编程接口)
tomcat软件:java开发的。java软件运行的时候需要jdk。
3)下载后的包
4)安装:解压
bin:可以执行文件。
conf:tomcat服务器的配置文件
lib:tomcat启动后需要依赖的jar包
logs:tomcat工作之后的日志文件
webapps:是tomcat布暑工程的目录。work:jsp文件在被翻译之后,保存在当前这个目录下,session对象被序列化之后保存的位置
1、JAVA_HOME:环境变量。并且配置到jdk的目录,其完整过程如下:
打开控制台(cmd命令打开窗口)。输入java -version测试
2、启动tomcat目录。 tomcat目录/bin/startup.bat(window启动文件) 找到startup.bat 双击运行。会有一个黑窗口,黑窗口不要关闭。(如果关闭,相当于把tomcat停止了。)
tomcat默认的端口是8080(访问端口)
3)然后在浏览器中输入 http://127.0.0.1:80 或 http://127.0.0.1 访问测试![]()
访问成功!!!
当我们使用catalina run 这个命令启动Tomcat的时候,哪怕有错误,我们也可以清楚的看到tomcat失败的原因。不会一闪而过。
第一种:Ctrl+C键 关闭Tomcat服务器
第二种:点击Tomcat窗口的右上角关闭按钮 (暴力停止服务器)
第三种:找到tomcat目录/bin/shutdown.bat文件,双击执行关闭Tomcat。
把我们自己书写的html,servlet这些信息,部署到tomcat的方式。
<Context path="/atguigu" docBase="D:\atguigu"/>
<Context path=”浏览器要访问的目录---虚拟目录” docBase=”网站所在磁盘目录”/>
缺点(Tomcat7.0之后):如果配置错误:tomcat会启动失败。(如果tomcat里面存放的其他的网站),其他网站也会停机。
文件夹的名字,就是网站或者工程的访问目录.相当于之前配置 <Context path=”” 的配置
步骤1、把文件夹中的内容压缩成zip的格式,点击一个要部署的文件夹下面,全选 然后压缩
步骤2、修改文件的后缀名为.war
步骤3.把war文件复制到webapps目录下。tomcat会自己把war的文件进行解压
第一种情况,直接打开Servers窗口
第二种情况,搜索Servers窗口打开![]()
图一,打开总的eclipse视图
图二:输入Server过滤出服务器窗口选项
Servers服务器窗口已成功打开,如下图:![]()
1)在Servers窗口中,点击 创建 server 的文字提示连接。如下图:
2)创建一个新的Tomcat服务器实例![]()
3)点击Browse按钮,打开目录选择窗口。选择Tomcat 解压目录
5)Tomcat目录选择好之后,点击 【Next】按钮继续操作![]()
Tomcat启动成功的控制台提示!!!![]()
Tomcat启动成功的控制台提示!!!![]()
正常停止 Tomcat (相当于点击操作系统中的关机按钮,执行关机保存操作,然后关机)![]()
这里是Eclipse把工程发布后的三种不同的选项。![]()
2)Tomcat 位置-选项介绍说明:
比如操作如下:
一:选择自定义的布暑目录
二:选择你自定义的目录,然后点击确定。之后Tomcat的一些目录会被拷贝过来。布暑的工程也在这个目录下的wtpwebapps目录下
三:选中你要布暑的工程,右键选择菜单 Run As --->>> Run on Server 将工程布暑到刚刚自定义的目录下。
四:选择你当前的web工程需要使用的哪个服务器运行。
如果勾选中 Always use this server when running this project 表示下次运行服务器的时候默认使用当勾时时候选择的服务器运行。
六:在浏览器中输入http://127.0.0.1:8080/day06/index.html 测试查看
请求行
请求头
空行
请求体
POST请求协议格式
1)、输入浏览器地址栏输入地址,直接按回车
2)、点击<a>超链接
3)、GET请求 表单提交
4)、script src=””,引入外部文件
5)、img src=”路径”,引入图片
6)、引入外部css。。。
1)只有表单提交的时候method=post,提交表单就是发post请求
响应首行
响应头信息
空行
响应体
1.构造 servlet,然后使用 init 方法将其初始化。Servlet:
2.处理来自客户端的对 service 方法的所有调用。
3.从服务中取出 servlet,然后使用 destroy 方法销毁它,最后进行垃圾回收并终止它。
1、接受浏览器发送过来的消息。
2、给浏览器返回消息。浏览器认识html。可以动态去输出html
2) 配置工程的选项![]()
3)勾选生成web.xml配置文件
5)web工程的介绍和说明![]()
1、实现servlet接口。 由sun公司定义的一个接口。(定义一个规范)sun公司定义一个servlet的规范。定义了servlet应该有哪些方法,以及方法需要的参数。
2、把类部署到web服务器中(tomcat)。
1、实现servlet接口(javax.servlet.Servlet)
2、重写service方法(service方法每次请求都会调用一次)
package com.atguigu.web; import java.io.IOException; import javax.servlet.Servlet; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; public class Hello implements Servlet{ @Override public void destroy() { // TODO Auto-generated method stub System.out.println("Servlet销毁了!"); } @Override public ServletConfig getServletConfig() { // TODO Auto-generated method stub return null; } @Override public String getServletInfo() { // TODO Auto-generated method stub return null; } @Override public void init(ServletConfig arg0) throws ServletException { // TODO Auto-generated method stub System.out.println("ServerConfig 初始化了"); } @Override public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException { // TODO Auto-generated method stub System.out.println("hello servlet service方法被调用"); } }
3、在WebContent/WEB-INF/web.xml中配置servlet的访问路径 。浏览器访问servlet的路径
web.xml(新建web工程的时候,eclipse自动创建出来的)的位置:<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>day06</display-name> <servlet> <servlet-name>Hello</servlet-name> <servlet-class>com.atguigu.web.Hello</servlet-class> </servlet> <servlet-mapping> <servlet-name>Hello</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> </web-app>
控制台打印:![]()
1.调用 init 方法 初始化Servletinit方法:当服务器创建一个serlvet的时候,会去调用init方法。当我们第一次去访问一个servlet的时候,会去创建这个servlet对象。并且只会创建一次。如果配置了load-on-startup 表示服务器启动的时候就创建servlet实例。
2.调用 Servlet中的service方法 处理请求操作
3.调用 destory方法 执行Servlet销毁的操作
2)修改Servlet的访问url地址![]()
3)勾选需要生成的Servlet方法![]()
5) 在浏览器中输出http://127.0.0.1:80/day06/helloServlet 访问测试
访问成功