44.Javaweb、servlet、web.xml请求与响应

web开发服务器:服务器本身就是一段应用程序,作用:用于存放可执行的代码。根据用户的请求去匹配一段在报务器中保存的代码,并将之运行起来,最后将运行的结果反馈给用户。服务器的类型:apache nginx tomcat。。。。tomcat安装:安装包解压即可用。解压时注意:解压一个无中文无空格的目录中。配置环境变量。web项目的架构形式:CS:c:client(客户端) s:server(服务端)优势:客户端和服务端都是同一家公司开发的,客户端与服务端的通信成本很低缺点:客户端
摘要由CSDN通过智能技术生成
web开发

服务器:服务器本身就是一段应用程序,作用:用于存放可执行的代码。根据用户的请求去匹配一段在报务器中保存的代码,并将之运行起来,最后将运行的结果反馈给用户。

服务器的类型:

apache nginx tomcat。。。。

tomcat安装:

安装包解压即可用。

解压时注意:解压一个无中文无空格的目录中。

配置环境变量。

web项目的架构形式:

CS:c:client(客户端) s:server(服务端)
优势:客户端和服务端都是同一家公司开发的,客户端与服务端的通信成本很低
缺点:客户端需要单独进行开发,客户端一般都比较大,下载时比较耗资源

BS:b:browse(浏览器), s:server(服务端)
实际上将浏览器当成了通用的客户端。
优势:无需开发专用的客户端,使用浏览器作为通用客户端。无需下载,节约资源。
缺点:浏览器与服务端的通信将变得非常困难。

协议:

HTTP协议,超文本传输协议 hyper text transfer protocal,是一个简单的请求-响应协议。

http请求格式:

1、请求行:请求提交方式 URL 。。。。。

2、请求头:以键值对的形式出现

3、空行

4、请求正文:请求的提交方式决定了是否存在请求正文。

GET:无请求正文,因为用户提交的数据会拼接在URL后

POST:有请求正文,因为URL中不拼接用户数据,需要通过请求正文将用户提交的数据发送到后台服务器中

http响应格式

响应状态码

常见错误响应状态码

​ 400-499 客户端错误响应

  1. 400 Bad Request: 请求语法有问题,服务器无法识别:没有host请求头字段,或者设置了超过一个的host请求头字段。
  2. 401 UnAuthorized: 客户端未授权该请求。缺乏有效的身份认证凭证,一般可能是未登陆。登陆后一般都解决问题。
  3. 403 Forbidden: 服务器拒绝响应。权限不足。
  4. 404 Not Found: URL无效或者URL有效但是没有资源。
  5. 405 Method Not Allowed: 请求方式Method不允许。
  6. 406 Not Acceptable: 资源类型不符合服务器要求。
  7. 407 Proxy Authorization Required: 需要代理授权。
  8. 408 Request Timeout:服务器将不再使用的连接关闭。响应头会有Connection: close。
  9. 426 Upgrade Required: 告诉客户端需要升级通信协议。

​ 500-599 服务器错误响应

  1. 500 Internal Server Error: 服务器内部错误,未捕获。
  2. 502 Bad Gateway: 服务器作为网关使用时,收到上游服务器返回的无效响应。
  3. 503 Service Unavailable: 无法服务。一般发生在因维护而停机或者服务过载。一般还会伴随着返回一个响应头Retry-After: 说明恢复服务的估计时间。
  4. 504 Gateway Timeout: 网关超时。服务器作为网关或者代理,不能及时从上游服务器获取响应返回给客户端。
  5. 505 Http Version Not Supported: 发出的请求http版本服务器不支持。如果请求通过http2发送,服务器不支持http2.0,就会返回该状态码。
URI和URL

URI:统一资源标识符,作用:用于标记一个互联网上的资源名称。

URL:统一资源定位符,作用:不但可以标记一个互联网上的资源名称,还可以标记该资源所在的位置。URL是URI的子集。

uri表现形式:协议:资源名称

fttp://a.png

url的表现形式:协议+主机名+端口+资源名称

http://192.168.40.132:8099/a.png

ip:用于定位一台互联网上的设备

端口:用于定位设备中的某个软件

web开发三大组件

三大组件:servlet、filter、 listener

servlet

作用:接收请求,作出响应。

servlet的三种创建方式

1、实现servlet接口

package com.woniuxy.servlet;

import javax.servlet.*;
import java.io.IOException;

/**
 * 实现servlet接口创建servlet
 */
public class ImplementsServletInterfaceServlet implements Servlet {
   
    /**
     * servlet的初始化时执行的方法
     * @param servletConfig
     * @throws ServletException
     */
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
   
        System.out.println("servlet init...");
    }

    /**
     * 此方法用于获取servletConfig
     * @return
     */
    @Override
    public ServletConfig getServletConfig() {
   
        return null;
    }

    /**
     * servlet接收请求,作出响应的方法
     * 生命周期中的重要方法,该方法每接收一次请求,都会被调用一次
     * @param servletRequest
     * @param servletResponse
     * @throws ServletException
     * @throws IOException
     */
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
   
        System.out.println("servlet service...");
    }

    /**
     * 用于编写一些对当前servlet的描述信息
     * @return
     */
    @Override
    public String getServletInfo() {
   
        return null;
    }

    /**
     * servlet销毁时调用的方法
     */
    @Override
    public void destroy() {
   
        System.out.println("servlet destroy...");
    }
}

2、继承GenericServlet

package com.woniuxy.servlet;

import javax.servlet.GenericServlet;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import java.io.IOException;

public class ExtendsGenericServlet extends GenericServlet {
   
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
   
        System.out.println("ExtendsGenericServlet service...");
    }
}

3、继承HttpServlet

package com.woniuxy.servlet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值