SpringMVC(四)域对象共享数据

news2024/11/18 4:31:20

pageContext:表示的是jsp页面的范围

HttpServletRequest:表示的是一次请求的范围

HttpSession:表示的是一次会话的范围

ServletContext:表示的是整个应用的范围 

一、向请求域中共享数据:

1.1使用ServletAPI向request域对象共享数据

 @RequestMapping("testServletAPI")
    public String testServletAPI(HttpServletRequest request){
        request.setAttribute("testScope","hello,servletAPI");
        return  "success";
    }

1.2使用ModelAndView向request域对象共享数据

package com.rgf.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class TestScopeController {
    @RequestMapping("test/mav")
    public ModelAndView testMav(){
        /**
         * ModelAndView包含Model和View的功能
         * Model主要用于向请求域共享数据
         * View主要用于设置逻辑视图,实现页面跳转
         */
        ModelAndView mav = new ModelAndView();
        //向请求域共享数据
        mav.addObject("testRequestScope","Hello,ModelAndView");
        //设置逻辑视图,实现页面跳转
        mav.setViewName("success");
        return mav;
    }
}

我们设置在跳转页面进行获取数据:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>首页</title>
</head>
<body>
<h1>success.html</h1>
<p th:text="${testRequestScope}"></p>
</body>
</html>

同时我们在首页中输入如下所示:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>首页</title>
</head>
<body>
<h1>index.html</h1>
<a th:href="@{/hello}">测试@RequestMapping注解所标识的位置</a><br>
<a th:href="@{/abc}">测试@RequestMapping注解的value属性</a>
<form th:action="@{/hello}" method="post">
    <input type="submit" value="测试@RequestMapping注解的method属性">
</form>
<a th:href="@{/hello?username=admin}">测试@RequestMapping注解的params属性(第一种)</a><br>
<a th:href="@{/hello(username='admin')}">测试@RequestMapping注解的params属性(第二种)</a><br>
<a th:href="@{/aaa/test/ant(username='admin')}">测试@RequestMapping注解支持ant风格的路径</a><br>
<br>
<form th:action="@{/param/servletAPI}" method="post">
    用户名: <input type="text" name="username"><br>
    密码:   <input type="password" name="password"><br>
    提交: <input type="submit" value="登录"><br>
</form>
<a th:href="@{/param/servletAPI}"></a>
<hr>
<a th:href="@{/test/mav}">测试通过ModelAndView向请求域共享数据</a>
</body>
</html>

我们进行运行:

我们点击ModelAndView的链接,跳转之后,如下所示:

 success.html

Hello,ModelAndView

 1.3使用Model向请求域共享数据

我们进行如下操作:

 @RequestMapping("/test/model")
    public String testModel(Model model){
        model.addAttribute("testRequestScope","hello,Model");
        return  "success";
        
    }

我们的返回success界面:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>首页</title>
</head>
<body>
<h1>success.html</h1>
<p th:text="${testRequestScope}"></p>
</body>
</html>

我们的首页如下所示:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>首页</title>
</head>
<body>
<h1>index.html</h1>
<a th:href="@{/hello}">测试@RequestMapping注解所标识的位置</a><br>
<a th:href="@{/abc}">测试@RequestMapping注解的value属性</a>
<form th:action="@{/hello}" method="post">
    <input type="submit" value="测试@RequestMapping注解的method属性">
</form>
<a th:href="@{/hello?username=admin}">测试@RequestMapping注解的params属性(第一种)</a><br>
<a th:href="@{/hello(username='admin')}">测试@RequestMapping注解的params属性(第二种)</a><br>
<a th:href="@{/aaa/test/ant(username='admin')}">测试@RequestMapping注解支持ant风格的路径</a><br>
<br>
<form th:action="@{/param/servletAPI}" method="post">
    用户名: <input type="text" name="username"><br>
    密码:   <input type="password" name="password"><br>
    提交: <input type="submit" value="登录"><br>
</form>
<a th:href="@{/param/servletAPI}"></a>
<hr>
<a th:href="@{/test/mav}">测试通过ModelAndView向请求域共享数据</a>
<a th:href="@{/test/model}">测试通过Model向请求域共享数据</a>
</body>
</html>

登陆首页点击链接之后:

 我们点击链接之后进入到成功界面:

该成功界面展示如下所示:

hello,Model

1.4使用ModelMap向请求域共享数据

我们设置如下所示:

 @RequestMapping("/test/modelMap")
    public String testModelMap(ModelMap modelMap){
        modelMap.addAttribute("testRequestScope","hello,ModelMap");
        return  "success";

    }

首页设置如下所示:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org" xmlns="http://www.w3.org/1999/html">
<head>
    <meta charset="UTF-8">
    <title>首页</title>
</head>
<body>
<h1>index.html</h1>
<a th:href="@{/hello}">测试@RequestMapping注解所标识的位置</a><br>
<a th:href="@{/abc}">测试@RequestMapping注解的value属性</a>
<form th:action="@{/hello}" method="post">
    <input type="submit" value="测试@RequestMapping注解的method属性">
</form>
<a th:href="@{/hello?username=admin}">测试@RequestMapping注解的params属性(第一种)</a><br>
<a th:href="@{/hello(username='admin')}">测试@RequestMapping注解的params属性(第二种)</a><br>
<a th:href="@{/aaa/test/ant(username='admin')}">测试@RequestMapping注解支持ant风格的路径</a><br>
<br>
<form th:action="@{/param/servletAPI}" method="post">
    用户名: <input type="text" name="username"><br>
    密码:   <input type="password" name="password"><br>
    提交: <input type="submit" value="登录"><br>
</form>
<a th:href="@{/param/servletAPI}"></a>
<hr>
<a th:href="@{/test/mav}">测试通过ModelAndView向请求域共享数据</a><br>
<a th:href="@{/test/model}">测试通过Model向请求域共享数据</a><br>
<a th:href="@{/test/modelMap}">测试通过ModelMap向请求域共享数据</a><br>
</body>
</html>

成功界面如下所示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>首页</title>
</head>
<body>
<h1>success.html</h1>
<p th:text="${testRequestScope}"></p>
</body>
</html>

登陆首页点击链接之后:

我们的成功界面返回如下所示:

hello,ModelMap

 1.5使用map向请求域共享数据

  @RequestMapping("/test/map")
    public String testMap(Map<String,Object> map){
        map.put("testRequestScope","hello,Map");
        return  "success";

    }

首页如下所示:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org" xmlns="http://www.w3.org/1999/html">
<head>
    <meta charset="UTF-8">
    <title>首页</title>
</head>
<body>
<h1>index.html</h1>
<a th:href="@{/hello}">测试@RequestMapping注解所标识的位置</a><br>
<a th:href="@{/abc}">测试@RequestMapping注解的value属性</a>
<form th:action="@{/hello}" method="post">
    <input type="submit" value="测试@RequestMapping注解的method属性">
</form>
<a th:href="@{/hello?username=admin}">测试@RequestMapping注解的params属性(第一种)</a><br>
<a th:href="@{/hello(username='admin')}">测试@RequestMapping注解的params属性(第二种)</a><br>
<a th:href="@{/aaa/test/ant(username='admin')}">测试@RequestMapping注解支持ant风格的路径</a><br>
<br>
<form th:action="@{/param/servletAPI}" method="post">
    用户名: <input type="text" name="username"><br>
    密码:   <input type="password" name="password"><br>
    提交: <input type="submit" value="登录"><br>
</form>
<a th:href="@{/param/servletAPI}"></a>
<hr>
<a th:href="@{/test/mav}">测试通过ModelAndView向请求域共享数据</a><br>
<a th:href="@{/test/model}">测试通过Model向请求域共享数据</a><br>
<a th:href="@{/test/modelMap}">测试通过ModelMap向请求域共享数据</a><br>
<a th:href="@{/test/map}">测试通过map向请求域共享数据</a><br>
</body>
</html>

点击首页链接:

跳转到成功界面展示如下所示:
 hello,Map

我们通过如下所示查看后三种方式的关系:

package com.rgf.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import java.util.Map;

@Controller
/**
 * 向域对象共享数据:
 * 1.通过ModelAndView向请求域共享数据
 * 使用ModelAndView时,可以使用其Model功能向请求域共享数据
 * 使用View功能设置逻辑视图,但是控制方法一定要将ModelAndView作为方法的返回值
 * 2.使用Model向请求域共享数据
 * 3.使用ModelMap向请求域共享数据
 * 4.使用map向请求域共享数据
 *
 */
public class TestScopeController {
    @RequestMapping("test/mav")
    public ModelAndView testMav(){
        /**
         * ModelAndView包含Model和View的功能
         * Model主要用于向请求域共享数据
         * View主要用于设置逻辑视图,实现页面跳转
         */
        ModelAndView mav = new ModelAndView();
        //向请求域共享数据
        mav.addObject("testRequestScope","Hello,ModelAndView");
        //设置逻辑视图,实现页面跳转
        mav.setViewName("success");
        return mav;
    }


    @RequestMapping("/test/model")
    public String testModel(Model model){
        //org.springframework.validation.support.BindingAwareModelMap
        System.out.println(model.getClass().getName());
        model.addAttribute("testRequestScope","hello,Model");
        return  "success";

    }

    @RequestMapping("/test/modelMap")
    public String testModelMap(ModelMap modelMap){
        //org.springframework.validation.support.BindingAwareModelMap
        System.out.println(modelMap.getClass().getName());
        modelMap.addAttribute("testRequestScope","hello,ModelMap");
        return  "success";

    }

    @RequestMapping("/test/map")
    public String testMap(Map<String,Object> map){
        //org.springframework.validation.support.BindingAwareModelMap
        System.out.println(map.getClass().getName());
        map.put("testRequestScope","hello,Map");
        return  "success";

    }
}

我们发现所输出的类为同一个,我们来查看其中的关系:
org.springframework.validation.support.BindingAwareModelMap

连续按键两次shift进行查找类:

 我们进行查看该类的继承关系:

 我们总结如下所示:

package com.rgf.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import java.util.Map;

@Controller
/**
 * 向域对象共享数据:
 * 1.通过ModelAndView向请求域共享数据
 * 使用ModelAndView时,可以使用其Model功能向请求域共享数据
 * 使用View功能设置逻辑视图,但是控制方法一定要将ModelAndView作为方法的返回值
 * 2.使用Model向请求域共享数据
 * 3.使用ModelMap向请求域共享数据
 * 4.使用map向请求域共享数据
 * 5.Model和ModelMap和map的关系
 * 其实在底层中,这些类型的形参最终都是通过BindingAwareModelMap创建
 * public class BindingAwareModelMap extends ExtendedModelMap{}
 * public class ExtendedModelMap extends ModelMap implements Model {}
 * public class ModelMap extends LinkedHashMap<String, Object> {}
 * public class LinkedHashMap<K,V>   extends HashMap<K,V>   implements Map<K,V>  {}
 * 
 */
public class TestScopeController {
    @RequestMapping("test/mav")
    public ModelAndView testMav(){
        /**
         * ModelAndView包含Model和View的功能
         * Model主要用于向请求域共享数据
         * View主要用于设置逻辑视图,实现页面跳转
         */
        ModelAndView mav = new ModelAndView();
        //向请求域共享数据
        mav.addObject("testRequestScope","Hello,ModelAndView");
        //设置逻辑视图,实现页面跳转
        mav.setViewName("success");
        return mav;
    }


    @RequestMapping("/test/model")
    public String testModel(Model model){
        //org.springframework.validation.support.BindingAwareModelMap
        System.out.println(model.getClass().getName());
        model.addAttribute("testRequestScope","hello,Model");
        return  "success";

    }

    @RequestMapping("/test/modelMap")
    public String testModelMap(ModelMap modelMap){
        //org.springframework.validation.support.BindingAwareModelMap
        System.out.println(modelMap.getClass().getName());
        modelMap.addAttribute("testRequestScope","hello,ModelMap");
        return  "success";

    }

    @RequestMapping("/test/map")
    public String testMap(Map<String,Object> map){
        //org.springframework.validation.support.BindingAwareModelMap
        System.out.println(map.getClass().getName());
        map.put("testRequestScope","hello,Map");
        return  "success";

    }
}

二、向session域共享数据、向application域共享数据

可以使用servletAPI实现向session域共享数据,比较简便。

 @RequestMapping("/param/servletAPI")
    public  String getParamByServletAPI(HttpServletRequest request){
        HttpSession session = request.getSession();
        String username = request.getParameter("username");
        String password=request.getParameter("password");
        System.out.println("username:"+username+",password:"+password);
        return "success";
    }
package com.rgf.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.Map;

@Controller
/**
 * 向域对象共享数据:
 * 1.通过ModelAndView向请求域共享数据
 * 使用ModelAndView时,可以使用其Model功能向请求域共享数据
 * 使用View功能设置逻辑视图,但是控制方法一定要将ModelAndView作为方法的返回值
 * 2.使用Model向请求域共享数据
 * 3.使用ModelMap向请求域共享数据
 * 4.使用map向请求域共享数据
 * 5.Model和ModelMap和map的关系
 * 其实在底层中,这些类型的形参最终都是通过BindingAwareModelMap创建
 * public class BindingAwareModelMap extends ExtendedModelMap{}
 * public class ExtendedModelMap extends ModelMap implements Model {}
 * public class ModelMap extends LinkedHashMap<String, Object> {}
 * public class LinkedHashMap<K,V>   extends HashMap<K,V>   implements Map<K,V>  {}
 *
 */
public class TestScopeController {
    @RequestMapping("test/mav")
    public ModelAndView testMav(){
        /**
         * ModelAndView包含Model和View的功能
         * Model主要用于向请求域共享数据
         * View主要用于设置逻辑视图,实现页面跳转
         */
        ModelAndView mav = new ModelAndView();
        //向请求域共享数据
        mav.addObject("testRequestScope","Hello,ModelAndView");
        //设置逻辑视图,实现页面跳转
        mav.setViewName("success");
        return mav;
    }


    @RequestMapping("/test/model")
    public String testModel(Model model){
        //org.springframework.validation.support.BindingAwareModelMap
        System.out.println(model.getClass().getName());
        model.addAttribute("testRequestScope","hello,Model");
        return  "success";

    }

    @RequestMapping("/test/modelMap")
    public String testModelMap(ModelMap modelMap){
        //org.springframework.validation.support.BindingAwareModelMap
        System.out.println(modelMap.getClass().getName());
        modelMap.addAttribute("testRequestScope","hello,ModelMap");
        return  "success";

    }

    @RequestMapping("/test/map")
    public String testMap(Map<String,Object> map){
        //org.springframework.validation.support.BindingAwareModelMap
        System.out.println(map.getClass().getName());
        map.put("testRequestScope","hello,Map");
        return  "success";
    }

    @RequestMapping("/test/session")
    public  String testSession(HttpSession session){
        session.setAttribute("testSessionScope","hello,Session");
        return "success";
    }

    @RequestMapping("/test/application")
    public  String testApplication(HttpSession session){
        ServletContext servletContext = session.getServletContext();
        servletContext.setAttribute("testApplicationScope","hello,Application");
        return "success";
    }

}

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org" xmlns="http://www.w3.org/1999/html">
<head>
    <meta charset="UTF-8">
    <title>首页</title>
</head>
<body>
<h1>index.html</h1>
<a th:href="@{/hello}">测试@RequestMapping注解所标识的位置</a><br>
<a th:href="@{/abc}">测试@RequestMapping注解的value属性</a>
<form th:action="@{/hello}" method="post">
    <input type="submit" value="测试@RequestMapping注解的method属性">
</form>
<a th:href="@{/hello?username=admin}">测试@RequestMapping注解的params属性(第一种)</a><br>
<a th:href="@{/hello(username='admin')}">测试@RequestMapping注解的params属性(第二种)</a><br>
<a th:href="@{/aaa/test/ant(username='admin')}">测试@RequestMapping注解支持ant风格的路径</a><br>
<br>
<form th:action="@{/param/servletAPI}" method="post">
    用户名: <input type="text" name="username"><br>
    密码:   <input type="password" name="password"><br>
    提交: <input type="submit" value="登录"><br>
</form>
<a th:href="@{/param/servletAPI}"></a>
<hr>
<a th:href="@{/test/mav}">测试通过ModelAndView向请求域共享数据</a><br>
<a th:href="@{/test/model}">测试通过Model向请求域共享数据</a><br>
<a th:href="@{/test/modelMap}">测试通过ModelMap向请求域共享数据</a><br>
<a th:href="@{/test/map}">测试通过map向请求域共享数据</a><br>
<a th:href="@{/test/session}">测试向会话域共享数据</a><br>
<a th:href="@{/test/application}">测试向应用域共享数据</a><br>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>首页</title>
</head>
<body>
<h1>success.html</h1>
<!--获取请求域中的数据-->
<p th:text="${testRequestScope}"></p>
<!--获取会话域中的数据-->
<p th:text="${session.testSessionScope}"></p>
<!--获取应用域中的数据-->
<p th:text="${application.testApplicationScope}"></p>
</body>
</html>

我们来进行测试:

我们运行之后进行点击:

 我们进行点击,点击测试向会话域共享数据的时候出现:hello,Session

 我们进行点击,点击测试向应用域(当前我们服务器运行的整个过程中)共享数据的时候出现:

hello,Session

hello,Application

一次会话是浏览器开启到浏览器关闭的过程。未关闭浏览器则会一直存在。

我们将网址复制下来之后,再次运行之后仍然会出现hello,application.

我们重新编译的时候则会清空session和application里面的值。

如果重新运行不清空session和application值,我们需要这么进行设置:

选择之后则会使用session的钝化和活化功能。

session的钝化和活化:

session的钝化

当前的服务器关闭之后,session中的数据会被钝化到我们当前的磁盘文件上,钝化到tomcat里面的work目录来存放sesion的钝化文件的,还有我们的jsp所翻译成的servlet.当前服务器重新启动后,会把钝化文件中的数据重新加载到session中。所以服务器关闭的话,只要浏览器不关闭,session就可以钝化和活化。哪怕服务器关掉,session中的数据也不会消失。
当服务器正常关闭时,还存活着的session(在设置时间内没有销毁) 会随着服务器的关闭被以文件(“SESSIONS.ser”)的形式存储在tomcat 的work 目录下,这个过程叫做Session 的钝化。

session的活化
当服务器再次正常开启时,服务器会找到之前的“SESSIONS.ser” 文件,从中恢复之前保存起来的Session 对象,这个过程叫做Session的活化。
如果在session中共享的是一个实体类类型的数据,必须将实体类实现一个序列化的接口。

如果在session中共享的是一个user对象,必须实现序列化的接口。(钝化是一个序列化的过程)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1142284.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

什么是Spring Web MVC

Spring Web MVC 概念 Spring Web MVC 是基于 Servlet API 构建的原始 Web 框架&#xff0c;从⼀开始就包含在 Spring 框架中。它的 正式名称“Spring Web MVC”来⾃其源模块的名称(Spring-webmvc)&#xff0c;但它通常被称为"Spring MVC". 什么是Servlet Servlet 是…

时间复杂度(补充)和 空间复杂度

大家好啊&#xff0c;我今天来给大家分享有关空间复杂度的知识。感谢大家对我的支持&#xff0c;我会继续加油更新博客&#xff0c;努力提高博客质量的。 我们在这里先补充时间复杂度的一些实例&#xff1a; 补充实例1&#xff1a; // 计算BinarySearch的时间复杂度&#xff…

零资源的大语言模型幻觉预防

零资源的大语言模型幻觉预防 摘要1 引言2 相关工作2.1 幻觉检测和纠正方法2.2 幻觉检测数据集 3 方法论3.1 概念提取3.2 概念猜测3.2.1 概念解释3.2.2 概念推理 3.3 聚合3.3.1 概念频率分数3.3.2 加权聚合 4 实验5 总结 摘要 大语言模型&#xff08;LLMs&#xff09;在各个领域…

笔记:电子设备接地,接的到底是什么地?

电路中有“地”&#xff0c;设备中有“地”&#xff1b;都是“地”&#xff0c;此地非彼地。 混淆的原因 有些混淆&#xff0c;是以为中文翻译造成的&#xff0c;英文所有Ground都统一翻译为“地”&#xff1b; 例1&#xff1a;英文Circuit Ground&#xff0c;应该翻译为电路…

RedissonCach的源码流程

上&#xff1a; https://blog.csdn.net/Michelle_Zhong/article/details/126384566 中&#xff1a; https://blog.csdn.net/michelle_zhong/category_11874153.html 下&#xff1a; https://blog.csdn.net/Michelle_Zhong/article/details/126391915?ops_request_misc%257B%…

细说RTSP、RTMP和GB28181区别

好多流媒体初学者&#xff0c;对RTSP、RTMP和GB28181三者容易混淆&#xff0c;不了解他们的使用场景和区别&#xff0c;本文抛砖引玉&#xff0c;大概介绍下三者的区别。 RTSP&#xff08;Real-Time Streaming Protocol&#xff09;、RTMP&#xff08;Real-Time Messaging Pro…

实战|如何低成本训练一个可以超越 70B Llama2 的模型 Zephyr-7B

每一周&#xff0c;我们的同事都会向社区的成员们发布一些关于 Hugging Face 相关的更新&#xff0c;包括我们的产品和平台更新、社区活动、学习资源和内容更新、开源库和模型更新等&#xff0c;我们将其称之为「Hugging News」。快来看看有哪些近期更新吧&#xff01;&#x1…

Flutter的The file name ‘xxxx.dart‘ isn‘t a snake_case identifier警告

文章目录 警告原因分析解决方法dart的一些命名规则变量和函数命名&#xff1a;类和类型命名&#xff1a;常量和枚举&#xff1a;文件命名&#xff1a;包命名&#xff1a;注释&#xff1a;命名一致性&#xff1a;避免缩写&#xff1a;可搜索的命名&#xff1a; 一些好习惯 警告 …

基于 51 的点阵屏显示·16*16 点阵仿真实验(静态显示,左移显示)

若想更详细了解可以先跳转到&#xff1a; 基于 51 的点阵屏显示 8*8 点阵仿真实验&#xff1a; 基于 51 的点阵屏显示 8*8 点阵仿真实验-CSDN博客 对一个模块进行了解 16*16 点阵的显示原理 虽然完成了上面 8*8 点阵的显示&#xff0c;但是由于点的数量太少以至于它的显示效果并…

简历自动生成工具

简历自动生成工具 简历自动生成工具&#xff0c;可根据提供的关键字生成完整内容&#xff0c;并应用于多个模板中。避免想更换简历风格的小伙伴&#xff0c;重复编辑简历的烦恼。 使用方法 每个求职者都需要认真对待自己的简历&#xff0c;特别是那些实力还不错的&#xff0c…

Centos如何安装Mysql

1、安装前检查是否存在mysql yum list installed mysql* ①如或显示了列表&#xff0c;说明系统中有MySQL **yum卸载 ** 根据列表上的名字&#xff08;[中括号为可选项]&#xff09; yum remove [填写列表显示出来的所有内容] rm -rf /var/lib/mysql rm /etc/my.cnf②rpm查…

【Linux】zip 命令使用

zip 命令用于压缩文件。压缩后的文件后缀名为 .zip。 语法 zip [参数] [文件] zip命令 -Linux手册页 命令选项及作用 执行令 zip --help 和 zip --help2 执行命令结果 参数 -A 调整可执行的自动解压缩文件。-b<工作目录> 指定暂时存放文件的目录。-c 替每个被压缩的…

LrC 13 ACR 16:镜头模糊

的Adobe Lightroom Classic 13 &#xff08; 2023 年 10 月版&#xff09;及 Adobe Camera Raw 16 新增的镜头模糊 Lens Blur功能可以基于 AI 技术生成深度图&#xff0c;并依据深度图对图像添加模糊和焦外成像&#xff08;散景光斑&#xff09;效果。 LrC&#xff1a;修改照片…

devCpp显示文件未编译

问题背景 刚刚去下载了devcpp&#xff0c;然后保存好代码之后点击编译运行出现文件未编译 问题细节 单独编译的时候显示这个当时没怎么注意 然后一直点编译运行死活显示文件未编译 目录下也没有exe文件 具体原因及代码 const int maxLine1e510; int arr[maxLine][maxLine]…

Windows VS C++工程:包含目录、库目录、附加依赖项、附加包含目录、附加库目录配置与静态库、动态库的调用——以OCCI的配置为例

文章目录 1 包含目录&#xff08;Include Directories&#xff09;/ 附加包含目录&#xff08;Additional Include Directories&#xff09;1.1 区别和作用1.2 设置路径 2 库目录&#xff08;Library Directories&#xff09;/ 附加库目录&#xff08;Additional Library Direc…

三篇论文:速览GPT在网络安全最新论文中的应用案例

GPT在网络安全领域的应用案例 写在最前面论文1&#xff1a;Chatgpt/CodeX引入会话式 APR 范例利用验证反馈LLM 的长期上下文窗口&#xff1a;更智能的反馈机制、更有效的信息合并策略、更复杂的模型结构、鼓励生成多样性和GPT类似的步骤&#xff1a;Conversational APR 对话式A…

模型对象CSS2DObject始终在画布的左上角(问题解决)

写了个简单案例模拟一下这个问题&#xff0c;看下图片 下面看下c2渲染器相关代码部分 this.css2DRenderer new CSS2DRenderer(); this.css2DRenderer.render(this.scene, this.camera); this.css2DRenderer.setSize(width, height); this.css2DRenderer.domElement.style.pos…

C/C++计算表达式值 2020年12月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析

目录 C/C计算表达式值 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 C/C计算表达式值 2020年12月 C/C编程等级考试一级编程题 一、题目要求 计算(ab)*(c-b)的值 1、编程实现 给定3个整数a、b、c&…

MYSQL批量插入并发场景下的DEADLOCK

一、背景 公元2023-10-12(周四)上午&#xff0c;组内的亚梅反馈&#xff0c;用户生成标签报死锁异常 二、排查异常日志 查到当时报错的日志 具体异常信息如下 server-provider-info-2023-10-12.0.log:2023-10-12 09:40:50.593 [TID:bf623bded189486cbb0b6a64d81b64b4.357.16970…

【C语言】memmove()函数(拷贝重叠内存块函数详解)

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:C语言 ⚙️操作环境:Visual Studio 2022 目录 一.memmove()函数简介 1.函数功能 2.函数参数 1>.void * destination 2>.onst void * source 3>.size_t num 3.函数返回值 4.函数头文件 二.memmove()函数…