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

商丘网站建设哪家专业网站宣传

商丘网站建设哪家专业,网站宣传,宣传册设计与制作软件,网站开发公司臻动文章目录 1.HTTP1.1 请求和响应HTTP请求#xff1a;请求行请求头请求体HTTP响应#xff1a;响应行#xff08;状态行#xff09;响应头响应体 2. Apache Tomcat2.1 基本使用2.2 IDEA中创建 Maven Web项目2.3 IDEA中使用Tomcat 3. Servlet3.1 Servlet快速入门3.2 Servlet执行… 文章目录 1.HTTP1.1 请求和响应HTTP请求请求行请求头请求体HTTP响应响应行状态行响应头响应体 2. Apache Tomcat2.1 基本使用2.2 IDEA中创建 Maven Web项目2.3 IDEA中使用Tomcat 3. Servlet3.1 Servlet快速入门3.2 Servlet执行流程3.3 Servlet 生命周期3.4 Servlet体系结构3.4.1 自定义Servlet类 3.5 Servlet urlPattern配置3.6 XML配置方式编写Servlet JAVAWeb技术栈 BS架构 B/S架构Browser/Server架构是一种常见的软件架构模式用于构建Web应用程序。在B/S架构中浏览器Browser作为客户端通过网络协议通常是HTTP与服务器Server进行通信而服务器负责处理客户端的请求并生成响应。 客户端浏览器客户端通常是用户使用的Web浏览器如Chrome、Firefox或Safari。客户端负责向服务器发送请求并将服务器返回的响应显示给用户。服务器服务器是Web应用程序的核心组件负责接收客户端的请求并生成响应。服务器通常运行在专用的硬件设备或计算机上并提供处理请求的软件环境 通信 网络通信B/S架构依赖于网络通信来实现客户端和服务器之间的数据传输。通常使用HTTP协议进行通信客户端发送HTTP请求到服务器服务器处理请求并生成HTTP响应返回给客户端。 数据交互动态资源数据交互客户端通过发送请求参数如表单数据、URL参数等向服务器发送数据。服务器可以使用不同的技术如JavaServlet、JSP、ASP.NET等来处理这些数据并对其进行验证、处理和存储。 界面静态资源前端界面B/S架构中的前端界面通常由HTML、CSS和JavaScript等技术来构建和呈现。 1.HTTP HTTP超文本传输协议是一种用于在Web上进行通信的协议。 它定义了客户端和服务器之间进行请求和响应的规范。HTTP是基于TCP/IP协议栈的应用层协议使用在Web浏览器和Web服务器之间。HTTP基于请求和响应模型的一次请求对应一次响应HTTP是无状态的协议即每一次请求响应都是独立的 缺点多次请求不能共享数据优点: 速度快 1.1 请求和响应 url格式 http://www.itcast.cn:8080/news/index.html?uid123page1协议“http”常见的协议有HTTPHTTPS、FTP等ip地址或域名“www.itcast.cn”也可以使用IP地址作为域名使用端口“8080”端口可以省略默认端口HTTP:80HTTPS:443FTP:21资源路径“/news/index.html”查询参数“uid123page1”可以允许有多个参数多个之间用“”作为分隔符 http协议特点 简单快速无连接无状态灵活支持C/S模式 HTTP请求请求行请求头请求体 请求行 说明请求方法、要访问的资源以及所使用的协议版本; 请求方法 GET从服务器获取资源一项或多项 POST在服务器新建一个资源 PUT在服务器更新资源客户端提供改变后的完整资源 DELETE从服务器删除资源 请求头: 紧接着请求行请求头部由键值对组成每行一对。 请求头部通知服务器有关于客户端请求的信息典型 的请求头有 Host表示请求的主机名称User-Agent产生请求的浏览器类型Accept客户端浏览器可接受的资源类型Content-Type请求体数据的类型Authorization用于发送身份验证凭据。Cookie用于发送服务器分配的Cookie信息。 请求体 请求体不在GET方法中使用经常在POST、PUT方法中使用 请求体的数据可以是表单数据、文本、XML、JSON与请求数据相关的最常使用的请求头是Content-Type和Content-Length - - 注意事项- - 请求行中的请求方法指定了对资源的操作类型如获取、创建、更新或删除。 请求头提供了关于请求的附加信息如客户端特性、所接受的响应类型等。 请求体用于传输实际数据通常在POST、PUT等方法中使用。Q1 GET和POST请求的区别 - 语义方面 GET方法用于从服务器获取资源。GET请求不应该对服务器产生副作用即不应该修改服务器状态。 POST方法用于向服务器提交数据通常用于创建新资源或发送更新请求。POST请求可以对服务器产生副作用即可以修改服务器状态。 - 数据传输方面 GET请求将数据附加在URL的查询参数中以键值对的形式发送。 POST请求将数据放在请求体中进行传输而不是作为URL的一部分。 这使得POST请求更适合传输大量数据或敏感数据因为请求体中的数据不会直接暴露在URL中。 - 数据长度方面 GET请求的数据传输长度通常受到URL长度的限制。 POST请求的数据传输长度没有特定的限制但服务器和网络基础设施可能会设置其自己的限制。 - 缓存方面 GET请求通常可以被浏览器缓存浏览器可以缓存GET请求的响应并在下次请求相同资源时重用缓存的响应以提高性能。 POST请求通常不被浏览器缓存因为它们可能具有副作用且每个POST请求可能会产生不同的结果。 HTTP响应响应行状态行响应头响应体 HTTP响应也由三个部分组成分别是状态行、响应头、响应体 状态行 状态行由协议版本号、状态码、状态消息三部分组成 状态码有三位数字组成第一个数字定义了响应的类别 1xx响应中--表示请求已接收正常处理中或需要进一步操作 2xx成功--表示请求已被成功接收、理解、接受 3xx重定向--要完成请求必须进行更进一步的操作 4xx客户端错误--客户发送的请求存在问题有语法错误或请求无法实现 5xx服务器端错误--服务器在处理请求时出现了问题服务器未能实现合法的请求请求码说明100 Continue继续表示服务器已经接收到了请求的头部并且客户端应该继续发送请求的主体部分。101 Switching Protocols切换协议表示服务器正在根据客户端的请求切换协议。例如客户端可以发送Upgrade请求头请求将连接从HTTP协议切换到WebSocket协议。102 Processing处理中表示服务器正在处理请求但尚未完成处理。200 OK成功表示请求已成功处理并且服务器返回了请求的内容。201 Created已创建表示服务器成功创建了新的资源。通常在使用POST请求创建资源时返回.300 Multiple Choices多种选择表示请求有多个可供选择的资源需要客户端进行进一步的选择。301 Moved Permanently永久重定向表示请求的资源已永久移动到新的URL。客户端应该使用新的URL进行后续的请求。302 Found临时重定向表示请求的资源暂时移动到了新的URL。客户端应该继续使用原始的URL进行后续的请求。400 Bad Request错误请求表示服务器无法理解客户端发送的请求通常是由于请求语法错误或参数验证失败导致的。401 Unauthorized未授权表示客户端需要进行身份验证才能访问请求的资源。需要在请求中提供有效的身份验证凭据。404 Not Found未找到表示请求的资源在服务器上不存在无法找到。这是最常见的客户端错误响应码。500 Internal Server Error服务器内部错误表示服务器在处理请求时遇到了未知的内部错误导致无法完成请求。501 Not Implemented未实现表示服务器不支持或未实现请求的功能。通常用于指示服务器无法满足请求的特定功能 \ 响应头 响应头用于描述服务器的基本信息以及数据的描述服务器通过这些数据的描述信息可以通知客户端如何处理响应数据 常见的响应头 Content-Type响应内容的类型例如text/html表示HTML文档application/json表示JSON数据等。 Content-Length指定响应体的字节长度用于表示响应内容的大小。 Location用于重定向响应中指定重定向的目标URL。 Cache-Control用于控制响应的缓存行为例如设置缓存的有效期、是否可缓存等。 Set-Cookie设置响应中的Cookie用于在客户端存储数据或维持会话状态。 Server指定服务器软件的名称和版本号。响应体 响应体就是响应的消息体数据可以是普通文本、XML、JSON、HTML源码 2. Apache Tomcat Web服务器 Web服务器是一种软件或计算机程序用于接收HTTP请求并返回HTTP响应。它在Web应用程序和客户端之间充当中间层负责处理和传递网络请求并提供所请求的资源或执行特定的操作。 //通俗的讲Web服务器就是把我们自己本地写的html网页放到一个平台这个平台其他用户通过输入你的IP地址和端口号等也可以访问到。 功能 接收和解析HTTP请求Web服务器监听指定的端口接收来自客户端的HTTP请求并解析请求中的方法、URL、请求头、请求体等信息。处理请求、生成和发送HTTP响应将web项目部署到服务器中对外提供网上浏览服务 常见的Web服务器 NginxNginx是一个高性能的开源Web服务器和反向代理服务器。它以轻量级和高并发性能著称适用于处理大量并发连接Apache HTTP ServerApache是最流行的开源Web服务器软件之一。它具有稳定性、可靠性和灵活性广泛用于各种Web应用和网站。 Tomcat是一个轻量级的Web服务器支持Servlet/JSP少量JavaEE规范也称为Web容器Servlet容器。 注意 Tomcat的启动与Java Development Kit (JDK) 的位置是相关的。Tomcat是一个Java Web应用服务器它需要Java运行时环境来执行。当你启动Tomcat时它会查找并使用Java命令来启动。 Tomcat在启动时会按照以下顺序查找JDK 检查JAVA_HOME环境变量Tomcat会首先查找JAVA_HOME环境变量该变量指向JDK的安装目录。如果JAVA_HOME已经设置并且指向有效的JDK路径Tomcat将使用该JDK来启动。 检查系统路径如果JAVA_HOME未设置Tomcat会查找系统路径PATH环境变量中的可执行文件java来启动。它将使用找到的第一个java命令执行。 2.1 基本使用 下载 配置环境变量 启动双击bin\startup.bat (控制台中文乱码解决修改conf/logging.properties java.util.logging.ConsoleHandler.encoding GBK utf-8改为GBK) 验证在浏览器输入localhost8080 修改配置 1.修改启动端口号conf/server.xml 部署项目 将项目放到webapps目录下即部署完成。 2.2 IDEA中创建 Maven Web项目 项目结构 编译后的Java字节码文件和resources的资源文件放到WEB-INF下的classes目录下pomxml中依赖坐标对应的jar包放入WEB-INF下的lib目录下 IDEA创建Maven Web项目步骤 视频地址 https://www.bilibili.com/video/BV1Qf4y1T7Hx/ 2.3 IDEA中使用Tomcat 视频地址https://www.bilibili.com/video/BV1Qf4y1T7Hxf 方法1将本地的tomcat集成到IDEA中然后进行项目部署 方法2在pom文件里添加插件 project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.imooc/groupIdartifactIdweb-demo/artifactIdpackagingwar/packagingversion1.0-SNAPSHOT/versiondependenciesdependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion3.1.0/versionscopeprovided/scope/dependency/dependenciesbuildplugins!-- tomcat 插件 --plugingroupIdorg.apache.tomcat.maven/groupIdartifactIdtomcat7-maven-plugin/artifactIdversion2.2/versionconfigurationport81/portpath//path/configuration/plugin/plugins/build/project 3. Servlet Servlet是一种Java语言编写的服务器端程序用于处理客户端发起的请求并返回响应。 Servlet 是javaEE规范之一其实就是一个接口将来我们需要定义Servlet实现类并由web服务器运行。Servlet运行在支持Java Servlet规范的Web服务器中可以接收HTTP请求、处理请求参数、生成动态内容、访问数据库等等。Servlet是Java Web开发的核心技术之一它可以与JSP、JavaBean等技术结合使用构建出功能强大的Web应用程序。 3.1 Servlet快速入门 步骤 创建web项目导入Servlet依赖坐标定义一个类实现Servlet接口并重写里边的所有方法并在service方法里输入一句话配置在类上使用WebServlet注解配置该Servlet访问路径访问启动Tomcat浏览器输入url访问该Servlet dependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion3.1.0/versionscopeprovided/scope /dependency //2. 定义一个类实现Servlet接口并重写里边的所有方法并在service方法里输入一句话 package com.itheima;import javax.servlet.*; import java.io.IOException;public class web implements Servlet {public void init(ServletConfig servletConfig) throws ServletException {}public ServletConfig getServletConfig() {return null;}public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {System.out.println(servlet hello world);}public String getServletInfo() {return null;}public void destroy() {} } 3.2 Servlet执行流程 Q1: Servlet 由谁创建? Servlet方法由谁调用? Servlet由web服务器创建Servlet方法由web服务器调用。 Q2:服务器怎么知道Servlet中一定有service方法? 因为我们自定义的Servlet必须实现Servlet接口并复写其方法而Servlet接口中有service方法 3.3 Servlet 生命周期 //方法 1.service() 方法 - Servlet接口中最重要的方法是service()方法。 - 该方法用于处理HTTP请求并根据请求的方法GET、POST、PUT、DELETE等调用对应的doGet()、doPost()、doPut()、doDelete()等方法进行处理。 - 在service()方法中开发人员可以根据具体的需求编写自己的处理逻辑。2.init() 和 destroy() 方法 - init()方法在Servlet被初始化时调用可以在该方法中进行一些初始化操作例如加载配置文件、建立数据库连接等。 - - destroy()方法在Servlet被销毁时调用可以在该方法中进行一些资源释放操作例如关闭数据库连接、释放内存等。3.doGet() 和 doPost() 方法 - 这两个方法是service()方法中被调用的具体处理HTTP请求的方法。 - doGet()方法用于处理GET请求doPost()方法用于处理POST请求。4.getServletConfig() 和 getServletInfo() 方法 - 这两个方法用于获取Servlet的配置信息和信息描述。 - getServletConfig()方法返回一个ServletConfig对象该对象包含了Servlet的配置参数。- getServletInfo()方法返回一个描述性字符串用于描述Servlet的信息。3.4 Servlet体系结构 Aim简化开发 HttpServlet类 HttpServlet类是Java Servlet规范中的一个抽象类它扩展自GenericServlet类并提供了用于处理HTTP请求和响应的方法。 //通俗来说我们开发B/S架构的web项目都是针对HTTP协议所以我们自定义Servlet都会继承HttpServlet HttpServlet抽象类的方法及说明 方法说明doGet() 和 doPost()这两个方法用于处理GET和POST请求。service()根据请求的HTTP方法GET、POST、PUT、DELETE等自动调用对应的doGet()、doPost()、doPut()、doDelete()等方法。如果业务逻辑不依赖HTTP方法可以直接重写service()方法。init() 和 destroy()这两个方法用于Servlet的初始化和销毁。getServletContext()该方法返回一个ServletContext对象用于访问Servlet上下文。 //get和post package com.itheima.web;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException;WebServlet(/demo) public class ServletDemo extends HttpServlet {Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // super.doGet(req, resp);System.out.println(get...);}Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // super.doPost(req, resp);System.out.println(post...);} } post 编写测试网页 !DOCTYPE html html langen headmeta charsetUTF-8titletest/title /head body form action/web-demo/demo methodpostinput nameusernameinput typesubmit /form /body /html3.4.1 自定义Servlet类 在service方法中根据请求的不同方式GET或POST分别调用了doGet和doPost方法。这意味着你可以在这两个方法中编写处理GET请求和POST请求的逻辑 package com.itheima.web;import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import java.io.IOException;public class MyHttpServlet implements Servlet {Overridepublic void init(ServletConfig config) throws ServletException {}Overridepublic ServletConfig getServletConfig() {return null;}Overridepublic void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {// 根据请求方式的不同进行分别的处理HttpServletRequest request (HttpServletRequest) req;//1. 获取请求方式String method request.getMethod();//2. 判断if(GET.equals(method)){// get方式的处理逻辑doGet(req,res);}else if(POST.equals(method)){// post方式的处理逻辑doPost(req,res);}}protected void doPost(ServletRequest req, ServletResponse res) {}protected void doGet(ServletRequest req, ServletResponse res) {}Overridepublic String getServletInfo() {return null;}Overridepublic void destroy() {} } 继承MyServlet package com.itheima.web;import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.annotation.WebServlet;WebServlet(/demo1) public class ServletDemo1 extends MyHttpServlet{Overrideprotected void doPost(ServletRequest req, ServletResponse res) {System.out.println(post...!);}Overrideprotected void doGet(ServletRequest req, ServletResponse res) {System.out.println(get.....!);} } 3.5 Servlet urlPattern配置 servlet urlpattern是指在web.xml文件中配置servlet时用于指定servlet的访问路径的一种方式。 它可以通过正则表达式来匹配不同的URL路径从而将请求分发给不同的servlet处理。 // 例如可以将urlpattern设置为“/hello”这样当用户访问“http://localhost:8080/hello”时就会调用对应的servlet来处理请求。一个Servlet可以配置多个urlPattern //例如WebServlet(urlPattern {“/demo1”,“/demo2”}) URL Pattern配置规则1.精确匹配使用具体的URL路径来匹配。 例如/hello表示只匹配路径为/hello的请求。2.前缀匹配使用通配符*来匹配路径的前缀。 例如/api/*表示匹配以/api/开头的所有请求如/api/users、/api/products等。3.后缀匹配使用通配符*来匹配路径的后缀。(注意不要写斜杠) 例如*.html表示匹配以.html结尾的请求如index.html、about.html等。4.扩展名匹配使用通配符*来匹配指定扩展名的请求。注意不要加斜杠 例如*.do表示匹配以.do结尾的请求如/login.do、/register.do等。5.路径匹配使用通配符**来匹配多级路径。 例如/api/**表示匹配以/api/开头的所有请求无论后面还有多少级路径 如/api/users/getAll、/api/products/getById等。6.正则表达式匹配使用正则表达式来匹配路径。 例如/user/[0-9]表示匹配以/user/后面跟着一个或多个数字的请求如/user/123、/user/456等。3.6 XML配置方式编写Servlet 步骤 编写Servlet类在web.xml中配置该类 package com.itheima.web;import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.annotation.WebServlet;public class ServletDemo13 extends MyHttpServlet {Overrideprotected void doGet(ServletRequest req, ServletResponse res) {System.out.println(demo13 get...);}Overrideprotected void doPost(ServletRequest req, ServletResponse res) {} }在web.xml中配置该Servlet ?xml version1.0 encodingUTF-8? web-app xmlnshttp://xmlns.jcp.org/xml/ns/javaeexmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsdversion4.0!-- Servlet 全类名--servlet!-- servlet的名称名字任意--servlet-namedemo13/servlet-name!--servlet的类全名--servlet-classcom.itheima.web.ServletDemo13/servlet-class/servlet!-- Servlet 访问路径--servlet-mapping!-- servlet的名称要和上面的名称一致--servlet-namedemo13/servlet-name!-- servlet的访问路径--url-pattern/demo13/url-pattern/servlet-mapping /web-app
http://www.w-s-a.com/news/460187/

相关文章:

  • 常德企业网站建设广州站在哪里
  • 移动端网站建站视频教程网站如何做淘客
  • 注册网站会不会有风险网站建设实训致谢语
  • ssh框架做的家政服务网站需要做网站建设的公司
  • 众筹网站制作长春高端网站建设
  • 亳州网站网站建设wordpress汉化.po
  • 怎样给建设的网站提意见网红营销概念
  • 怎么知道一个网站是谁做的广告行业网
  • 上海app定制开发公司大城网站优化
  • 工厂 网站建设北京招聘网站设计师
  • 企业网站建设与网络营销的关系网页qq音乐在线听
  • 网站如何制作学校的做做代销的网站
  • 灌云网站建设维护常州市天宁区建设局网站
  • 广州中小企业网站建设网络营销平台的类型
  • 做非遗网站的原因wordpress ip 插件
  • 微信企业网站 源码下载wordpress 4.9.5 太卡
  • 湖北网站建设公司哪家好房地产最新政策调整
  • 重庆建设岗位培训网站今天重大新闻乌克兰
  • 流水线 东莞网站建设如何在网上销售产品
  • 哪些做图片赚钱的网站网站建设销售业绩任务
  • 建立网站 知乎如何做网站的图片滑动块
  • 国外做珠宝的网站有哪些滨湖区建设局官方网站
  • 关于中国幼教网站开发的经验中国建设银行晋中分行网站
  • 挪威网站后缀如何外贸网络推广
  • 外汇交易网站开发仟亿家设计软件好吗亿家
  • 专门教做甜品的网站郑州高新区建设环保局网站
  • 建站公司怎么获客网站建设全网营销
  • 黄石做网站的公司html免费网站模板
  • 做个商城网站怎么做便宜优酷视频网站源码
  • 网站侧边栏导航代码泰兴市住房和建设局网站