HTTP协议
HTTP协议用在网络上,传输超文本文件,传输方式为URL地址,连接方式为短连接
短连接
即客户端发送请求,服务器响应,响应完毕后链接断开,浏览器解析响应,再展示给用户
请求:Request
响应:Response
HTTP协议无状态协议:
对事务没有记忆的能力,缺少状态,意味着如果后续处理需要前面的信息。
解决HTTP协议无状态协议:
1.使用cookie
2.使用session保存会话
HTTP状态码(是用以表示网页服务器HTTP响应状态的3位数字代码)
消息(1xx):代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束(HTTP1.0不支持)
成功(2xx):代表请求已成功被服务器接收,理解,并接受(200请求已成功)
重定向(3xx):代表需要客户端采取进一步的操作才能完成请求。通常,这些状态代码用来重定向,后续请求地址(重定向目标)在本次响应的location域中指明
请求错误(4xx):客户端看起来可能发生了错误,妨碍了服务器的处理(404)请求的资源不存在
服务器错误(5xx):服务器在处理请求的过程中错误或者异常(500服务器端的源代码出现错误)
URL地址解析:
DNS将域名先解析成IP地址,根据IP地址找到服务器,根据端口号找到提供网络服务的进程(tomcat),根据项目名找到对应的项目,找到项目之后,后面的URL地址要从web.xml文件中寻找相关配置
手动创建Web项目
1.在webapps下创建webDemo文件夹
2.webDemo文件夹下面创建WEB-INF文件夹 并创建主页
3.WEB-INF文件夹下创建classes文件夹
4.在classes文件夹下建立一个java文件
书写如下内容:
package com.ailsa.servlet;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class MyServlet extends HttpServlet{
public void service(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
response.getWriter().write("Hello World!!!");
}
}
5.进行编译
javac -cp E:\TomCatWeb\tomcat7\lib\servlet-api.jar -d . MyServlet.java
-cp E:\TomCatWeb\tomcat7\lib\servlet-api.jar 编译servlet-api.jar包
-d . MyServlet.java 编译java文件
6.编译通过后创建web.xml 文件
书写如下内容:
<web-app>
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>com.ailsa.servlet.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/MyServlet</url-pattern>
</servlet-mapping>
</web-app>
7.登陆tomcat网站
进入管理员模式
8.让服务器响应
输入:localhost:8088/webDemo/MyServlet
结果
创建第一个web项目
1、创建web项目
2、创建Servlet
3、配置web.xml
4、启动tomcat服务器
6、使用浏览器访问
配置web.xml文件:
<servlet>
服务的名字,也就是servlet的名字
<servlet-name>Servlet1</servlet-name>
servlet的相对路径
<servlet-class>com.oaec.servlet.Servlet1</servlet-class>
</servlet>
servlet的映射,也就是指客户端的名字,以及访问的路径
<servlet-mapping>
客户端的名字
<servlet-name>Servlet1</servlet-name>
客户端的访问的路径的名字http://localhost:8088/day12.5/Servlet1
<url-pattern>/Servlet1</url-pattern>
</servlet-mapping>
方法1.实现Servlet接口
方法2.继承GenericServlet类
方法3.继承HttpServlet类(默认执行doGet方法)
(执行doPost方法)