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

济南免费网站建设网页设计实训总结800字

济南免费网站建设,网页设计实训总结800字,建设网站需要机房吗,罗湖附近网站建设公司目录 1.Servlet生命周期 2.Servlet的配置 3.Servlet的常用方法 4.Servlet体系结构 5.HTTP请求报文 6.HTTP响应报文 1.Servlet生命周期 Servlet#xff08;Server Applet#xff09;是Java Servlet的简称。其主要的功能是交互式地浏览和修改数据#xff0c;生成一些动态… 目录 1.Servlet生命周期 2.Servlet的配置 3.Servlet的常用方法 4.Servlet体系结构 5.HTTP请求报文 6.HTTP响应报文 1.Servlet生命周期 ServletServer Applet是Java Servlet的简称。其主要的功能是交互式地浏览和修改数据生成一些动态的Web内容。 Servlet的生命周期 可以简述为以下几个步骤 Servlet容器接收到第一个HTTP请求将其委派给对应的Servlet。Servlet初始化阶段容器会调用Servlet的init()方法用于执行一些初始化操作比如加载资源、建立数据库连接等。在接收到客户端请求时Servlet容器会调用Servlet的service()方法来处理请求并根据请求方法如GET、POST等决定调用具体的doGet()、doPost()等方法。在这些方法中开发者可以编写处理请求和生成响应的业务逻辑。当Servlet容器关闭或重新加载时会调用Servlet的destroy()方法用于清理资源、释放连接等操作。最后当没有活跃的请求或超过一定时间限制时Servlet容器会通过JVM的垃圾回收机制对Servlet进行回收。 2.Servlet的配置 1.通过xml配置 !-- servlet声明--servletservlet-name Servlet名字自己定义的 /servlet-nameservlet-class 此处写完整的类名 /servlet-class/servlet !-- servlet访问方式的声明--servlet-mappingservlet-nameServlet名字自己定义的/servlet-nameurl-pattern访问路径/url-pattern/servlet-mapping 2.通过注解配置 可以看到如果增加一个servlet类就需要多进行配置一次非常麻烦所以官方引入了注解配置无需再使用web.xml但是注意注解配置只能在Web Application3.0以上版本才可用 WebServlet(/ 路径名可以自行设置名称) WebServlet({/ 路径名可以自行设置名称/ 路径名可以自行设置名称...}) 案例 3.Servlet的常用方法 在实现了Servlet的接口后会出现以下几个方法(核心在于init(),service();destory()三个生命周期方法) package com.company;import javax.servlet.*; import java.io.IOException;public class Main implements Servlet { // 创建一个ServletConfig对象可以用来接收init传递的servletConfigprivate ServletConfig servletConfig;// 初始化在Servlet创建时候自动执行特点是只会执行一次Overridepublic void init(ServletConfig servletConfig) throws ServletException { // 通过数据范围上升一级实现能够获取ServletConfig信息this.servletConfig servletConfig;} // 获取Servlet类的相关配置数据Overridepublic ServletConfig getServletConfig() {return servletConfig;} // 提供服务方法特点是在每一次用户访问时候都能调用方法Overridepublic void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {System.out.println(执行服务方法);} // 获取消息Overridepublic String getServletInfo() {return null;} // 结束生命周期在服务器关闭时候执行destroy方法Overridepublic void destroy() {} }案例: 创建一个类叫ServletDemo源码如下通过实行按Servlet接口并覆写相关方法。找到service方法在其下输出Hello Servlet和Test package com.company;import javax.servlet.*; import java.io.IOException;public class ServletDemo implements Servlet {Overridepublic void init(ServletConfig servletConfig) throws ServletException {}Overridepublic ServletConfig getServletConfig() {return null;}// 使用service服务的方法其他暂时不用管Overridepublic void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {System.out.println(Hello Servlet);System.out.println(Test);}Overridepublic String getServletInfo() {return null;}Overridepublic void destroy() {} }web.xml配置如下(也可以通过注解配置) ?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 !--配置--display-nameHelloServlet/display-name !-- servlet声明--servlet !-- 随便创建想要的Servlet名字--servlet-name ServletDemo /servlet-name !-- 找到servlet对应的类输入 包.具体类名--servlet-class com.company.ServletDemo /servlet-class/servlet !-- servlet访问方式的声明--servlet-mapping !-- 映射Servlet名--servlet-nameServletDemo/servlet-name !-- 映射路径配置一般就用 /映射类名--url-pattern/ServletDemo/url-pattern/servlet-mapping/web-app 通过输入url并加上对应的路径 再回到idea中的控制台可以看到能够正常访问 4.Servlet体系结构 问题引出通过案例可以发现 我们一般使用资源请求只会调用到service方法。其他init方法destroy方法等等我们都不太需要但是由于Servlet是接口所以需要覆写所有的方法所以引入了其他类 Servlet体系结构 其中GennericServlet抽象类将除了service的方法默认进行空处理如下所示 package com.company;import javax.servlet.GenericServlet; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import java.io.IOException;public class GenServlet extends GenericServlet { // 除了service方法其他都不需要覆写Overridepublic void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {System.out.println(我是service方法); // 判断请求方式String method servletRequest.getMethod();if (method.equals(GET)){}else if (method.equals(POST)){}} }问题引出可以看到虽然继承了GennericServlet类但是处理请求数据时候由于请求方式的不同请求方式有Get和POST所以要单独对其进行操作并且每多一个继承GennericServlet的类就需要再写一边判断请求方式代码为此又细化分了一个HttpServlet抽象类 HttpServlet自动帮助写完了判断方法并且带来了方法doGet(),doPOST() 案例代码 package com.company;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException;//多路径设置 WebServlet({/Hello,/Dome,/kimi}) public class HttpServlet extends javax.servlet.http.HttpServlet {Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println(GET!!!!!!!!!);}Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println(POST!!!!!!!!!!!!);} }在index.jsp中设置一个表单并且可以通过method修改发送方法 Get方法获取到信息 Post方法获取到信息 5.HTTP请求报文 1.请求报文格式 HTTP 请求报文的格式可分为三个部分起始行请求行、请求头部Header和请求体Body。 示例 GET /index.html HTTP/1.1 Host: www.example.com User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Accept-Language: en-US,en;q0.9请求行Request Line: 包含三个要素HTTP 方法、请求目标URI/URL和 HTTP 版本。示例GET /index.html HTTP/1.1 请求头部Headers: 由多个键值对组成每行一个键值对用冒号分隔键和值。可包含多个不同的请求头如 Host、User-Agent、Content-Type 等。 请求体Body: 仅在某些请求中存在用于承载客户端向服务器发送的数据如 POST、PUT 请求。根据不同的应用场景请求体可以是纯文本、JSON、XML、二进制数据等格式。 2.请求头部 由关键字和值组成每行一队关键字和值之间用“”隔开 请求头部字段说明示例Host请求的目标主机的域名或IP地址Host:www.example.comwww.example.comwww.example.comUser-Agent发起请求的用户代理信息User-Agent: Mozilla/5.0Accept客户端可接受的响应内容类型Accept: text/html, application/jsonContent-Type请求中包含的实体的媒体类型Content-Type: application/jsonAuthorization认证信息用于身份验证Authorization: Bearer token123Cookie之前由服务器通过Set-Cookie设置的cookieCookie: sessionIdabc123Referer表示客户端是从哪个URL跳转过来的Referer: Example DomainExample DomainExample DomainContent-Length请求中的消息体长度Content-Length: 1024If-None-Match用于缓存验证与资源的ETag进行比较If-None-Match: abc123If-Modified-Since用于缓存验证与资源的最后修改时间进行比较If-Modified-Since: Tue, 01 Aug 2023 12:00:00 GMT 6.HTTP响应报文 1.响应报文格式 HTTP 响应报文的格式可分为三个部分起始行状态行、响应头部Header和响应体Body。 示例 HTTP/1.1 200 OK Content-Type: text/html Content-Length: 1234 Cache-Control: max-age3600!DOCTYPE html html headtitleWelcome/title /head bodyh1Hello, World!/h1pThis is a sample HTML page./p /body /html状态行Status Line 包含三个要素HTTP 版本、状态码和状态消息。示例HTTP/1.1 200 OK 响应头部Headers 由多个键值对组成每行一个键值对用冒号分隔键和值。可包含多个不同的响应头如 Content-Type、Content-Length、Cache-Control 等。 响应体Body 用于承载服务器返回给客户端的实际数据内容。根据不同的应用场景响应体可以是纯文本、HTML、JSON、XML、二进制数据等格式。 2.常用的状态码 状态码含义200OK - 请求成功完成301Moved Permanently - 资源永久重定向到新URL302Found - 资源临时重定向到新URL304Not Modified - 资源未修改可以使用缓存的版本400Bad Request - 请求无效或非法403Forbidden - 拒绝访问权限不足或被禁止404Not Found - 请求的资源不存在500Internal Server Error - 服务器内部错误 3.常用的响应头 响应头部字段说明示例Content-Type响应中实体的媒体类型Content-Type: text/html; charsetUTF-8Content-Length响应中实体的长度字节Content-Length: 1024Server服务器软件名称和版本号Server: Apache/2.4.29 (Unix)Set-Cookie服务器设置的cookie信息Set-Cookie: sessionIdabc123Last-Modified资源的最后修改时间Last-Modified: Tue, 01 Aug 2023 12:00:00 GMTETag资源的实体标识符ETag: abc123Location重定向的目标URLLocation: Example DomainCache-Control指定响应的缓存机制Cache-Control: max-age3600Content-Encoding响应实体的压缩编码方式Content-Encoding: gzipAccess-Control-Allow-Origin指定允许跨域请求的域名或通配符Access-Control-Allow-Origin: *
http://www.hkea.cn/news/14277396/

相关文章:

  • 北京国贸网站建设海南手机网站建设公司哪家好
  • 成都企业网站建设费用深圳营销型网站建设服务商
  • 成都企业建设网站湖北专业网站建设检修
  • 网站建设公司的服务器ui网页设计课程总结
  • 商业网站建设视频教程一个县城广告公司利润
  • 申请号的网站网站设计怎么弄
  • 高校门户网站的建设如何在网站插做视频
  • 网站开发环境怎么写聊城开发网站建设
  • 网站设计步骤是什么昆山网站建设及推广
  • 开题报告电子商务网站建设长沙企业网站制作
  • 公司做网站之前要准备什么软件优化营商环境
  • 昌平网站开发多少钱晋中建设集团网站
  • 高清设计网站推荐网页设计作业 介绍家乡
  • 网站开发与设计实验报告总结游戏推广员好做吗
  • 微信小程序网站制作茂名企业自助建站系统
  • 做网站 宁波装修案例分析
  • 网站建设的总结与评价网站的排版问题
  • wordpress子目录站点选择主题手机触屏网站幻灯片
  • 中国全球门户网站wordpress关联博客
  • 网站不被搜索引擎收录吗wordpress导航菜单下拉
  • 网站建站如何做seowordpress docker -v
  • wordpress 免费么成都seo网站建设
  • 俄语网站万网企业网站建设
  • 能交易的网站多少钱wordpress抓取别人网站
  • 做网站的那些事萧山做网站公司
  • 织梦网站地图在线生成有没有帮忙做推广的网站
  • 电脑打字赚钱一单一结太原百度网站快速优化
  • 深圳做小程序网站设计怎么做vip电影网站
  • 韩国优秀网站欣赏怎么快速建网站教程
  • 学互联网做网站是什么文章目录wordpress