当前位置: 首页 > news >正文

陕西网络开发公司网站注册公司流程和费用 知乎

陕西网络开发公司网站,注册公司流程和费用 知乎,优惠券 wordpress,灰色网站建设优化文章目录 1. 前置学习知识2. Tomcat介绍Tomcat目录文件介绍URL的组成部分和项目资源的对应关系idea配置部署tomcat并成功运行一个app-web项目 3. HTTP协议介绍#xff08;很重要#xff09;HTTP协议和HTTPS的区别HTTP协议的发展理解HTTP协议 报文格式报文响应的状态码 4. Ser… 文章目录 1. 前置学习知识2. Tomcat介绍Tomcat目录文件介绍URL的组成部分和项目资源的对应关系idea配置部署tomcat并成功运行一个app-web项目 3. HTTP协议介绍很重要HTTP协议和HTTPS的区别HTTP协议的发展理解HTTP协议 报文格式报文响应的状态码 4. Servlet简介动态资源和静态资源Tomcat接收到请求后的处理过程Tomcat对数据进行验证Servlet API jar包导入问题Content-Type问题 url-parttern特别说明xml文件映射路径 vs 注解映射路径 Servlet的生命周期了解Servlet接口的继承结构了解ServletConfig对象了解ServletContext对象掌握通过ServletContext对象进行数据的交互Service方法中 HttpServletRequest对象HttpServletResponse对象请求转发请求转发特点基础重要 响应重定向乱码和路径问题 5. 会话管理cookie的使用三大域对象 6. 过滤器生命周期过滤器链使用注解的形式取代xml配置文件 7.监听器 1. 前置学习知识 JavaScript学习笔记 CSS3学习笔记 html学习笔记 2. Tomcat介绍 前端App的运行环境 服务器 -- JRE -- Tomcat -- App Tomcat目录文件介绍 bin:该目录下存放的是二进制可执行文件如果是安装版那么这个目录下会有两个exe文件tomcat10.exe、tomcat10w,exe,前者是在控制台下启动Tomcat,后者是弹出GU川窗口启动Tomcat;,如果是解压版那么会有startup.bat和shutdown.bat文件startup.bat用来启动Tomcat,但需要先配置JAVA_HOME环境变量才能启动shutdawn.bat用来停止Tomcat;conf : 配置文件lib : jar包logs : 日志文件可删除temp 临时文件可删除webapps : 存放web项目 WEB-INF文件夹不可以直接访问的资源文件 classes目录字节码根路径lib目录外部资源文件web.xml static work : jsp相关现在不常用了 标准的可以部署在Tomcat中的app如上图中webapps的文件目录结构所示 URL的组成部分和项目资源的对应关系 http://127.0.0.1:8080/app/idnex.html URL组成部分项目中资源协议(http://)ip地址(127.0.0.1)服务器-硬件 -- 操作系统端口号(8080)服务器-服务软件 -- webapps项目的上下文路径(/app)app具体资源路径(index.html)具体资源路径 idea配置部署tomcat并成功运行一个app-web项目 详情见连接 视频57集 3. HTTP协议介绍很重要 HTTP协议和HTTPS的区别 在HTTP1.1到HTTP2.0之间出现了 HTTPS安全超文本传输协议。它是使用 SSL/TLS 进行安全加密通信的 HTTP 的安全版本。 HTTP协议的发展 最初阶的http协议HTTP/0.9只能返回一个网页 后续发展HTTP/1.0支持三种请求方式有状态码、包含报文头、能够传输HTML以外的文件 HTTP/1.1支持七种请求另外有以下三个特性 虚拟主机允许从单个 IP 地址提供多个域。持久连接和流水线连接允许 Web 浏览器通过单个持久连接发送多个请求。缓存支持节省了带宽并使响应速度更快。 HTTP2和HTTP3已经发布了但是整体的使用并不突出 理解HTTP协议 客户端和服务端交互的方式 请求-响应模式 请求永远是客户端向服务端发送 响应永远是服务端向客户端发送 客户端和服务端交互数据的格式 报文请求报文请求时发送的数据 响应响应报文响应时返回的数据 报文的格式 ​ 报文首部行信息 头信息 ​ 报文主体 HTTP的长链接和短链接问题 前置知识 网络信息传递过程 TCP协议下的数据通信三次握手和四次分手 长链接和短链接分解 html中存在linkscript之类的标签 客户端需要通过这些标签中的地址重新向Tomcat抓取路径所以需要重新经历三次握手和四次分手的过程。 报文格式 见资料 常见的请求头 -主机虚拟地址 Host: localhost:8080 -长连接 Connection: keep-alive -请求协议的自动升级[http的请求服务器却是https的浏览器自动会将请求协议升级为https的] Upgrade-Insecure-Requests: 1 - 用户系统信息 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.75 Safari/537.36 - 浏览器支持的文件类型 Accept:text/html,application/xhtmlxml,application/xml;q0.9,image/webp,image/apng,*/*;q0.8 - 当前页面的上一个页面的路径[当前页面通过哪个页面跳转过来的] 可以通过此路径跳转回上一个页面 广告计费防止盗链 Referer: http://localhost:8080/05_web_tomcat/login.html - 浏览器支持的压缩格式 Accept-Encoding: gzip, deflate, br - 浏览器支持的语言 Accept-Language: zh-CN,zh;q0.9,en-US;q0.8,en;q0.7注意 如果是发送加密的信息最好是使用POST请求发送数据 如果是发送非加密数据且不携带信息最好是使用GET请求 常见的相应体 Server: Apache-Coyote/1.1 服务器的版本信息 Accept-Ranges: bytes ETag: W/157-1534126125811 Last-Modified: Mon, 13 Aug 2018 02:08:45 GMT Content-Type: text/html 响应体数据的类型[浏览器根据类型解析响应体数据] Content-Length: 157 响应体内容的字节数 Date: Mon, 13 Aug 2018 02:47:57 GMT 响应的时间这可能会有8小时的时区差报文响应的状态码 状态码状态码英文描述中文含义1**100Continue继续。客户端应继续其请求101Switching Protocols切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议例如切换到HTTP的新版本协议2**200OK请求成功。一般用于GET与POST请求201Created已创建。成功请求并创建了新的资源202Accepted已接受。已经接受请求但未处理完成203Non-Authoritative Information非授权信息。请求成功。但返回的meta信息不在原始的服务器而是一个副本204No Content无内容。服务器成功处理但未返回内容。在未更新网页的情况下可确保浏览器继续显示当前文档205Reset Content重置内容。服务器处理成功用户终端例如浏览器应重置文档视图。可通过此返回码清除浏览器的表单域206Partial Content部分内容。服务器成功处理了部分GET请求3**300Multiple Choices多种选择。请求的资源可包括多个位置相应可返回一个资源特征与地址的列表用于用户终端例如浏览器选择301Moved Permanently永久移动。请求的资源已被永久的移动到新URI返回信息会包括新的URI浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替302Found临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI303See Other查看其它地址。与301类似。使用GET和POST请求查看304Not Modified未修改。所请求的资源未修改服务器返回此状态码时不会返回任何资源。客户端通常会缓存访问过的资源通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源305Use Proxy使用代理。所请求的资源必须通过代理访问306Unused已经被废弃的HTTP状态码307Temporary Redirect临时重定向。与302类似。使用GET请求重定向4**400Bad Request客户端请求的语法错误服务器无法理解401Unauthorized请求要求用户的身份认证402Payment Required保留将来使用403Forbidden服务器理解请求客户端的请求但是拒绝执行此请求404Not Found服务器无法根据客户端的请求找到资源网页。通过此代码网站设计人员可设置您所请求的资源无法找到的个性页面405Method Not Allowed客户端请求中的方法被禁止406Not Acceptable服务器无法根据客户端请求的内容特性完成请求407Proxy Authentication Required请求要求代理的身份认证与401类似但请求者应当使用代理进行授权408Request Time-out服务器等待客户端发送的请求时间过长超时409Conflict服务器完成客户端的 PUT 请求时可能返回此代码服务器处理请求时发生了冲突410Gone客户端请求的资源已经不存在。410不同于404如果资源以前有现在被永久删除了可使用410代码网站设计人员可通过301代码指定资源的新位置411Length Required服务器无法处理客户端发送的不带Content-Length的请求信息412Precondition Failed客户端请求信息的先决条件错误413Request Entity Too Large由于请求的实体过大服务器无法处理因此拒绝请求。为防止客户端的连续请求服务器可能会关闭连接。如果只是服务器暂时无法处理则会包含一个Retry-After的响应信息414Request-URI Too Large请求的URI过长URI通常为网址服务器无法处理415Unsupported Media Type服务器无法处理请求附带的媒体格式416Requested range not satisfiable客户端请求的范围无效417Expectation Failed服务器无法满足Expect的请求头信息5**500Internal Server Error服务器内部错误无法完成请求501Not Implemented服务器不支持请求的功能无法完成请求502Bad Gateway作为网关或者代理工作的服务器尝试执行请求时从远程服务器接收到了一个无效的响应503Service Unavailable由于超载或系统维护服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中504Gateway Time-out充当网关或代理的服务器未及时从远端服务器获取请求505HTTP Version not supported服务器不支持请求的HTTP协议的版本无法完成处理 4. Servlet简介 动态资源和静态资源 静态资源在代码运行之前已经写好的资源文件 动态资源在代码运行过程中动态生成的资源文件 注意动态资源的过程需要java代码生成需要响应的数据并且转换为响应的报文参数如果不一样响应的请求也不一样 Tomcat接收到请求后的处理过程 tomcat接收到请求后会将请求报文信息转换为一个HttpServletRequest对象 包含了请求中的所有信息 -- 请求头、请求行、请求体 tomcat同时创建一个HttpServletResponse对象该对象用于盛装要响应给客户端的信息并且之后会被转换成响应的报文 包含了响应中的所有信息 -- 响应行、响应头、响应体 创建自己的Servlet类并且要使其实现Servlet接口 重写抽象方法service(HttpServletRequest request,HttpServletResponse,response) 从request参数中获取所有请求信息生成响应给客户端的数据将响应数据传入response参数 tomcat根据请求中的资源路径找到对应的servlet将servlet实例化调用servlet()方法同时将HttpServletRequest对象和HttpServletResponse对象传入 Tomcat对数据进行验证 略 Servlet API jar包导入问题 具体见Tomcat导入过程 Content-Type问题 import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse;import java.io.IOException; import java.io.PrintWriter;public class UserServlet extends HttpServlet {resp.setContentType(text/html);// 设置Content-Type类型 }url-parttern特别说明 一个servlet-name可以映射多个url-parttern但是每一个url-parttern只能对应一个servlet-name 在xml标签中表示为一个servlet-mapping标签可以拥有多个url-pattern标签 url-parttern的精确匹配和模糊匹配 精确匹配 一般使用/作为通配符 模糊匹配 一般使用*作为通配符 xml文件映射路径 vs 注解映射路径 servletservlet-nameservlet1/servlet-nameservlet-classcom.itchen.servlet.Servlet1/servlet-class /servletservlet-mappingservlet-nameservlet1/servlet-nameurl-pattern/servlet1/url-patternurl-pattern/s1/url-pattern /servlet-mappingWebServlet(/s2)通用类 public class Servlet1 extends HttpServlet {Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println(servlet执行了);} }Servlet的生命周期了解 生命周期对应方法执行时机执行次数构造对象构造器第一次请求或者容器启动1初始化init()构造完毕后1处理服务service(HttpServletRequest req,HttpServletResponse resp)每次请求多次销毁destory()容器关闭1 Servlet接口的继承结构了解 Servlet接口中存在的一些方法 void init(ServletConfig var1)ServletConfig getServletConfig();void service(ServletRequest var1, ServletResponse var2)String getServletInfo();void destroy(); GenericServlet类实现一些基本的Tomcat配置 HttpServlet类1. 主要的Service方法方便调用子类的API相较于父类的API更丰富 ​ 2. 重载的Service方法获取请求的方式根据请求方式调用响应的方法请求的分发 状态码405 。 自己的Servlet类重新实现Service方法 或者 重写doGet()方法和doPost()方法 ​ 1. 接收用户的请求信息 ​ 2. 做出响应 状态码200 ServletConfig对象了解 作用为某一个Servlet提供独立的配置参数表现形式为获取init-param参数。可以有多个 方式xml配置文件和注解两种方式 ServletContext对象掌握 作用为所有Servlet提供信息唯一 // 示例 ServletContext servletContext getServletContext();// 获取不同电脑的文件路径 String path servletContext.getRealPath(upload); System.out.println(path);// 获取项目的上下文路径 String contextPath servletContext.getContextPath(); System.out.println(contextPath);通过ServletContext对象进行数据的交互Service方法中 // 发送数据 ServletContext servletContext getServletContext(); servletContext.setAttribute(ka,va); //servletContext.removeAttribute(ka) // 接收数据 ServletContext servletContext1 getServletContext(); String ka (String)servletContext1.getAttribute(ka); System.out.println(ka);HttpServletRequest对象 各种API见阿里网盘-备份盘-大学经历-java Web文档 通过URI和URL了解 ip锁定 和 代理服务器 HttpServletResponse对象 各种API见阿里网盘-备份盘-大学经历-java Web文档 请求转发 通过HttpServletRequest对象实现服务端内部将请求发送给另一个处理类 请求转发特点基础重要 请求转发通过HttpServletRequest对象获取请求转发器实现请求转发是服务器内部的行为,对客户端是屏蔽的客户端只发送了一次请求,客户端地址栏不变服务端只产生了一对请求和响应对象,这一对请求和响应对象会继续传递给下一个资源因为全程只有一个HttpServletRequset对象,所以请求参数可以传递,请求域中的数据也可以传递请求转发可以转发给其他Servlet动态资源,也可以转发给一些静态资源以实现页面跳转请求转发可以转发给WEB-INF下受保护的资源请求转发不能转发到本项目以外的外部资源 响应重定向 通过HttpServletResponse对象实现服务端先返回一个响应让客户端再发送一个请求然后服务端的处理类再处理之后发送的请求并返回响应。 乱码和路径问题 产生原因 数据的编码和解码不属于一个字符集使用了不支持某种语言的字符集 乱码问题1 对于使用Tomcat中参数获取的时候的因为编码的字符集和解码的字符集有差异所以会导致Tomcat乱码问题 解决 get请求在Tomcat配置中对解码字符集进行修改post请求在源码调用参数前对请求体内的参数的编码方式进行修改 乱码问题2 在页面显示的时候前端的编码方式不一定和后端的相同。 解决 在响应头中设置编码方式甩锅给前端 Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {resp.setContentType(text/html;charsetUTF-8); }请求转发时的编码问题 受保护的资源需要通过请求转发来获取但是请求转发时不会改变资源的访问路径。这造成了资源的字节码文件路径和在编码中的磁盘结构路径不一致最终导致了资源访问失败。 相对路径和绝对路径 重定向中的路径问题 和上面文档中的一致 请求转发时的路径问题 相对路径和上面文档一致绝对路径不需要再添加项目的上下文 绝对路径通解将项目的上下文环境设置为/ 出现hamcrest错误是因为Test测试的问题老版本mysql记得在连接url上加上设置 5. 会话管理 客户端和服务端之间的多次请求和响应 会话管理是服务器端通过客户端的状态来对客户端进行管理和记录 技术手段 通过cookie和session配合记录请求状态 cookie的使用 cookie是一个键值型的对象它在服务器产生随着响应传会浏览器如果浏览器对软件中的地址再次访问cookie将在每次请求中携带。除非浏览器关闭过后再次使用这个cookie才会消失。 cookie的分类 会话级cookie 直到浏览器关闭结束 持久化cookie 自定义最大时效时间 Session的使用 先获取session对象 HttpSession session req.getSession(); 向Session中存入数据 session.setAttribute(username,username); 注意 Session被用于存储在浏览器中如果打开另一个客户端将不会存储原客户端中的Session ​ 客户端每次申请Session对象服务器都会产生并发送给服务器端 ​ Session每次请求的时效性只有30分钟可以在web-config中修改 三大域对象 web项目中我们一定要熟练使用的域对象分别是请求域会话域应用域 请求域对象是HttpServletRequest传递数据的范围是一次请求之内及请求转发 会话域对象是HttpSession传递数据的范围是一次会话之内可以跨多个请求 应用域对象是ServletContext传递数据的范围是本应用之内可以跨多个会话 API功能void setAttribute(String name,String value)向域对象中添加、修改数据Object getAttribute(String name)从域对象中获取数据removeAttribute(String name)移除域对象中的数据 三大域对象一般存放数据请求域本次业务有关数据会话域本次会话客户端有关数据应用域本程序有关数据eg.Spring框架的IOC容器 6. 过滤器 过滤器是作用目标资源请求的技术规范。javaEE技术规范javaWeb项目中最最使用的技术之一。 应用场景登录…… 对于一个请求过滤器不止能有一个多个过滤器会形成过滤器链 生命周期 构造X初始化过滤销毁 注意filter和servlet不同点在于filter不能由java控制构造和初始化而servlet可以 过滤器链 在web.xml中配置filter-mapping的顺序决定了过滤器的工作顺序 使用注解的形式取代xml配置文件 WebFilter(filterName loggingFilters,initParams {WebInitParam(namedateTimePattern,valueyyyy-MM-dd HH:mm:ss)},urlPatterns {/servletA,*.html},servletNames {servletBName} )7.监听器 在域对象中发生一些事件的时候自动触发一些代码的执行 ServletContextListener监听器在spring和springMVC中使用最多 监听对象作用域的相应类或接口域对象本身变化ServletContextListener域对象中数据的变化ServletContextAttributeListener监听Session域的变化HttpSessionListener
http://www.pierceye.com/news/553556/

相关文章:

  • 手机平台网站开发品牌网站设计首选
  • 哪些网站可以做调查赚钱图片生成软件
  • 网站空间的管理wordpress vip system
  • 新思维网站北京住房建设部网站首页
  • 温州网站制作套餐麒麟网站建设
  • 淘宝接单做网站wordpress能做企业网站吗
  • 网站建设运营公众号运营合同app网站开发书籍下载
  • 网站seo流程网站开发开账务处理
  • 婚介网站方案长沙网络公司电话
  • 自助网站搭建系统做网站接电话一般要会什么
  • 雷州网站建设公司网站建设与管理说课ppt
  • 问答类网站怎么做wordpress 调取页面缩略图
  • 做电影资源网站手机版wordpress实例配置
  • 广西网站建设方案品牌官网方案
  • 游戏工作室网络组建方案seo81
  • 搭建个人网站的步骤温州专业微网站制作价格
  • 网站怎么做充值系统php图书管理系统网站开发
  • 多商家网站建设自助建站系统源码 资源网
  • 广州番禺网站制作公司哪家好文章网站建设
  • 漯河网站建设e辽宁身营商环境建设局网站
  • 营销网站建设套餐企业信息公示管理系统
  • 网站布局设计排版网站外部链接做多少合适呢
  • 成品网站 源码1688上海网站建设 找德华专业
  • 网站建设费用申报佛山电脑培训班哪里有
  • 免费网站服务器厦门网站建设推广哪家好
  • 青海海东平安县建设局网站如何建设旅游网站
  • 成都响应式网站开发百度里面的站长工具怎么取消
  • 手机购物网站设计广告设计有限公司
  • 新手制作网站wordpress lamp 教程
  • 响应式的网站做优化好吗wordpress删掉自豪