• JavaWeb笔记



    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笔记

  • 相关阅读:
    C++ 多态
    【软考】信息安全基本要素
    微服务架构学习与思考(09):分布式链路追踪系统-dapper论文学习
    java中如何使用字段对对象数组进行排序
    C++多线程学习06 利用RAII
    【UNIX网络编程】|【06】基本UDP套接字编程【数据报丢失、性能、流量控制....】
    【Python数据分析 - 5】:Numpy-数组的基本操作
    是谁在造谣杭州取消直播带货?
    摸鱼网站推荐,不会摸鱼的程序员不是好程序猿
    Java 包
  • 原文地址:https://blog.csdn.net/qq_54351538/article/details/127320411