码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • JavaWeb笔记


    文章目录

    • 1、Servlet
      • Servlet执行流程
      • Servlet生命周期
        • 1、加载和实例化对象
        • 2、初始化
        • 3、请求处理
        • 4、服务终止
    • 2、参数中文乱码解决
    • 3、请求方式post请求和get请求的区别
    • 4、转发和重定向的区别:
      • 列举2个转发方式,四个重定向方式
    • 5、print()与write()
    • 6、web.xml的配置
      • 1、配置网站的首页


    1、Servlet

    1、创建web项目,导入Servlet依赖坐标

    <dependencies>
            <dependency>
                <groupId>javax.servletgroupId>
                <artifactId>javax.servlet-apiartifactId>
                <version>3.1.0version>
                <scope>providedscope>
            dependency>
    dependencies>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    2、创建:定义一个类并使用@WebServlet注解配置Servlet的访问路径

    @WebServlet("/login")
    public class loginServlet extends HttpServlet {}
    
    • 1
    • 2

    Servlet执行流程

    请添加图片描述

    Servlet生命周期

    1、从Servlet加载类创建对象—>对象销毁过程
    2、调用无参构造方法创建对象,调用init()方法初始化信息,并且两个方法只会执行一次
    3、service()方法用来做接受请求的操作,一次请求就会执行一次,发送几次请求就会执行几次
    4、项目关闭,对象销毁,调用destroy()方法销毁对象

    1、加载和实例化对象

    默认情况下,当Servlet第一次被访问时,由容器创建Servlet对象

    2、初始化

    在Servlet实例化后,容器将调用Servlet的init()方法初始化这个对象,完成一些如加载配置文件、创建连接等初始化工作。该方法只调用一次

    3、请求处理

    每次请求Servlet时,Servlet容器都会调用Servlet的servlet()方法对请求进行处理。

    4、服务终止

    当需要释放内存或者容器关闭时,容器就会调用Servlet实例的destroy()方法完成资源的释放。在destroy()方法调用之后,容器会释放这个Servlet实例,该实例随后会被Java的垃圾收集器所回收

    2、参数中文乱码解决

    设置编码格式:解决中文乱码问题:request.setCharacterEncoding(“UTF-8”);(仅限于解决post请求的参数问题;对于get请求参数乱码问题:new String(乱码的参数值.getfBytes(“iso-8859-1”),”UTF-8”);

    3、请求方式post请求和get请求的区别

    1、get请求的参数直接追加到请求地址url的后面;而post请求没有,post请求的参数在请求体中;不是直接暴露在URL中。
    2、get请求一般安全性较低;post请求安全性略高
    3、get请求的参数个数较少,post请求参数个数一般情况较多
    4、get请求一般用于获取数据,post请求一般用于提交数据
    5、get请求进行URL编码;post请求支持多种编码格式(参数:图片上传:File)
    6、get请求会被浏览器缓存,存贮在浏览器的浏览记录中;post请求不会
    7、get请求回退时不会重新提交数据;post请求可能会重新提交

    4、转发和重定向的区别:

    1、转发只发送一次请求;重定向发送两次请求
    2、转发时地址栏的地址不发生改变;重定向时地址栏的地址发生改变
    3、重定向是客户端行为,转发是服务端行为
    4、重定向可以跳转到任意的URL(可以是本项目下的,也可以是外部的);转发只能跳转到本项目下
    5、重定向不共享数据(request存取值),转发一次请求共享数据

    列举2个转发方式,四个重定向方式

    • 转发
    <jsp:forward page=""></jsp:forward>
    
    • 1
    request.getRequestDispatcher("").forward("");
    
    • 1
    • 重定向
    response.sendRedirect("");
    
    • 1
    <a href=""></a>
    
    • 1
    <c:redirect url=""></c:redirect>
    
    • 1
    location.href=""
    
    • 1

    5、print()与write()

    write只能向浏览器输出字符、字符数组、字符串等关于字符的数据信息
    print()可以将各种类型(包括Object)的数据通过默认编码转换成bytes字节形式。

    6、web.xml的配置

    1、配置网站的首页

    1、首页可以配置多个;首页的顺序从上往下,若第一个没有,则去找第二个,若都有则采用第一个;
    2、若配置了首页,那么默认的index.html为首页则是失效

    <welcome-file-list>
    	<welcome-file>demo.htmlwelcome-file>
    welcome-file-list>
    
    • 1
    • 2
    • 3

    常见的响应码
    404:

    <error-page>
    	<error-code>404error-code>
    	<location>404.htmllocation>
    error-page>
    
    • 1
    • 2
    • 3
    • 4

    JSP笔记

  • 相关阅读:
    leetcode-1.两数之和(哈希表解决)
    淘宝/天猫获得淘宝店铺详情 API 返回值说明(seller_info-获得淘宝店铺详情)
    【问题解决】Tensorflow中run究竟运行了哪些节点?
    一文搞懂js中的typeof用法
    基于SpringBoot的漫画网站设计与实现
    pandas是什么以及pandas的三种数据结构Series、DataFrame、MultiIndex的创建方式函数代码
    读图数据库实战笔记01_初识图
    【Python】推荐三个好玩的图像处理库
    CoreData 同步 iCloud 数据导致 App 启动超时被系统 watchdog 终止的原因及解决
    计算机毕业设计Java班主任管理系统(源码+系统+mysql数据库+lw文档)
  • 原文地址:https://blog.csdn.net/qq_54351538/article/details/127320411
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号