springmvc学习笔记

英飞凌AURIX™ TC3xx系列MCU的ISO 26262安全机制实战:从安全手册到代码集成的避坑指南 本文深入探讨英飞凌AURIX™ TC3xx系列MCU的ISO 26262安全机制实战应用,重点解析锁步核配置、ECC策略优化及SafeTlib库集成中的关键问题。通过代码示例和配置建议,帮助开发者实现ASIL D级别安全性,规避常见陷阱,提升汽车电子系统的功能安全合规性。 阅读详情

Springmvc是什么?
Springmvc是一个web层mvc框架
这里写图片描述
Springmvc执行流程
这里写图片描述
在web.xml配置前端控制器:DispatcherServlet

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>springmvc</display-name>


  <filter>
     <filter-name>characterEncoding</filter-name>
     <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>UTF-8</param-value>
    </init-param>
  </filter>

  <filter-mapping>
   <filter-name>characterEncoding</filter-name>
   <url-pattern>/*</url-pattern>
  </filter-mapping>
  <servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

    <init-param>
     <param-name>contextConfigLocation</param-name>
     <param-value>classpath:springmvc.xml</param-value>
    </init-param>
  </servlet>


  <servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
</web-app>

配置springmvc.xml

<!-- 配置处理器映射器,springmvc默认的处理器映射器
        BeanNameUrlHandlerMapping:根据bean(自定义Controler)的name属性的url去寻找hanler(Action:Controller)
         -->
        <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>

        <!-- 简单处理器映射器:
             把Url进行集中配置
         -->
         <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
         <property name="mappings">
         <props>
         <prop key="/abc.do">myController</prop>
         <prop key="/ss.do">http</prop>
         <prop key="/mine.do">http</prop>
         </props>
         </property>

         </bean>

         <!-- 定义通过: 类名.do 形式来访问controller -->
         <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"></bean>

        <!-- 配置处理器适配器执行Controlelr ,springmvc默认的
        SimpleControllerHandlerAdapter:执行Controller
        -->
        <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean>

        <!-- HttpRequestHandlerAdapter负责执行实现接口HttpRequestHandler的后端
             控制器。
         -->
        <bean class="org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter"></bean>

        <!-- 配置自定义Controler -->
        <bean id="myController" name="/hello.do" class="com.shikun.controller.MyController"></bean>

        <!-- 配置自定义HttpController -->
        <bean id="http" class="com.shikun.controller.HttpController"></bean>

        <bean name="/command.do" class="com.shikun.controller.CommandController"></bean>

        <bean name="/toAdd.do" class="com.shikun.controller.ToAddController"></bean>


        <!-- 配置注解扫描 -->
        <context:component-scan base-package="com.shikun"></context:component-scan>

        <!-- 配置注解处理器映射器 -->
        <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"></bean>

        <!-- 配置注解处理器适配器 --> 

        <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"></bean>


        <!-- 配置sprigmvc视图解析器:解析逻辑试图 
             后台返回逻辑试图:index
            视图解析器解析出真正物理视图:前缀+逻辑试图+后缀====/WEB-INF/jsps/index.jsp
        -->
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsps/"></property>
        <property name="suffix" value=".jsp"></property>        
        </bean>
</beans>

处理器映射器
BeanNameUrlHandlerMapping
功能:寻找Controller
根据url请求去匹配bean的name属性url,从而获取Controller
这里写图片描述

SimpleUrlHandlerMaping
功能:寻找Controller
根据浏览器url匹配简单url的key,key又Controller的id找到Controller
这里写图片描述
ControllerClassNameHandlerMapping
功能:寻找Controller
根据类名(MyController)类名.do来访问,类名首字母小写
这里写图片描述
处理器适配器
SimpleControllerHandlerAdapter
功能:执行controller
调用controller里面方法,返回modelAndView
这里写图片描述
HttpRequestHandlerAdapter
功能:执行controller
这里写图片描述
命令控制器
Springmvc通过命令设计模式接受页面参数。

自定义命令控制器
这里写图片描述

注解开发
注解开发流程
这里写图片描述

RequestMapping
requestMapping(“hello”)
requestMapping(“/hello.do”)
requestMapping(value=”/hello.do”)
这里写图片描述
requestMapping(value=”/hello.do”,method=RequestMethod.POST)
浏览器直接访问,a标签都是get请求
表单提交(指定post),ajax指定post提交,post提交。

自定义根路径
这里写图片描述

封装参数
分析接受参数类型:
基本类型,int,String等等基本类型。
Pojo类型
包装类型

Springmvc默认支持类型:
HttpSession,HttpRequstServlet,Model等等。

Struts2参数:基于属性封装。

Springmvc参数封装:基于方法进行封装。
封装int类型参数
这里写图片描述

接受参数方法
这里写图片描述

接受字符串类型
这里写图片描述

接受数组
这里写图片描述

接受Pojo
这里写图片描述

接受包装类型参数
这里写图片描述

接受集合类型参数
接受list集合
这里写图片描述

接受map
这里写图片描述

页面回显

@RequestMapping("list")
    public String list(Model model){
        //model 相当于application域对象

        List<User> userList = new ArrayList<User>();

        User user1 = new User();
        user1.setId(1);
        user1.setSex("男");
        user1.setUsername("坤哥");
        user1.setAddress("地球");
        user1.setBirthday(new Date());

        User user2 = new User();
        user2.setId(2);
        user2.setSex("男2");
        user2.setUsername("坤哥222");
        user2.setAddress("地球222");
        user2.setBirthday(new Date());

        User user3 = new User();
        user3.setId(3);
        user3.setSex("男3");
        user3.setUsername("坤哥333");
        user3.setAddress("地球333");
        user3.setBirthday(new Date());

        userList.add(user1);
        userList.add(user2);
        userList.add(user3);

        model.addAttribute("userList", userList);

        return "list";

这里写图片描述
URL模版映射
url模版映射可以restfull软件架构。
url模版映射过程
这里写图片描述

Restfull风格设计

这里写图片描述

转发和重定向
关键字:forward
本类进行转发:
本类方法与方法之间进行forward
转发方式:
方式一:return ”forward:list.do“;
重定向
关键字:redirect
本类进行重定向:
本类方法与方法之间进行redirect
重定向方式:
方式一:return ”redirect:list.do“;
跨类进行重定向:
转发方式:return ”redirect:/items/list.do“;
@responseBody和@RequestBody
@responseBody把后台pojo转换json对象,返回到页面。
@RequestBody接受前台json数据,把json数据自动封装javaBean。
修改springmvc
这里写图片描述

页面传递json格式
Ajax传递 json格式数据
这里写图片描述

这里写图片描述

Springmvc多视图
配置springmvc支持多视图

class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
        <!-- 配置支持媒体类型 -->
        <property name="contentNegotiationManager">
        <bean class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean">
        <property name="mediaTypes">
        <map>
        <entry key="json" value="application/json"></entry>
        <entry key="xml" value="application/xml"></entry>       
        </map>      
        </property>

        </bean>

        </property>

        <!-- 指定默认视图 -->
        <property name="defaultViews">
        <!-- 支持多个视图 -->
        <list>
        <!-- 对josn格式视图支持 -->
        <bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView"></bean>

        <!-- xml格式视图支持 -->
        <bean class="org.springframework.web.servlet.view.xml.MarshallingView">
        <constructor-arg>
        <bean class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
        <property name="classesToBeBound">
        <list>
        <value>com.shikun.domain.User</value>
        </list>
        </property>
        </bean>
        </constructor-arg>
        </bean>

        </list>

        </property>
        </bean>


约定rest目录下所有以json和xml扩展名都支持相应的视图
<mvc:annotation-driven/>
<mvc:annotation-driven/>默认创建注解处理器映射器,注解处理器适配器。提供json格式支持。

在springmvc配置
这里写图片描述
但是注意:javaBean不能添加@XmlRootElement。
@XmlRootElement提供对xml视图支持。

Springmvc文件上传
<img src=”图片路径”/>
//把文件关联表单
//触发ajax事件
<input type=file onchange=“ajax事件”/>
<input type=”hidden” value=”图片相对路径”/>
uploadController
使用jersy服务器进行跨服务器上传:
@Controller
@RequestMapping("/upload")
public class UploadController {

    @RequestMapping("uploadPic")
    public void uploadPic(HttpServletRequest request,String fileName,PrintWriter out){
        //把Request强转成多部件请求对象
        MultipartHttpServletRequest mh = (MultipartHttpServletRequest) request;
        //根据文件名称获取文件对象
        CommonsMultipartFile cm = (CommonsMultipartFile) mh.getFile(fileName);
        //获取文件上传流
        byte[] fbytes = cm.getBytes();

        //文件名称在服务器有可能重复?
        String newFileName="";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
        newFileName = sdf.format(new Date());

        Random r = new Random();

        for(int i =0 ;i<3;i++){
            newFileName=newFileName+r.nextInt(10);
        }

        //获取文件扩展名
        String originalFilename = cm.getOriginalFilename();
        String suffix = originalFilename.substring(originalFilename.lastIndexOf("."));

        //创建jesy服务器,进行跨服务器上传
        Client client = Client.create();
        //把文件关联到远程服务器
        WebResource resource = client.resource(Commons.PIC_HOST+"/upload/"+newFileName+suffix);
        //上传
        resource.put(String.class, fbytes);


        //ajax回调函数需要会写写什么东西?
        //图片需要回显:需要图片完整路径
        //数据库保存图片的相对路径.
        String fullPath = Commons.PIC_HOST+"/upload/"+newFileName+suffix;

        String relativePath="/upload/"+newFileName+suffix;
        //{"":"","":""}
        String result="{\"fullPath\":\""+fullPath+"\",\"relativePath\":\""+relativePath+"\"}";

        out.print(result);


    }

}
用生成式AI自动生成测试用例的完整教程 本文旨在帮助测试工程师、开发人员快速掌握“生成式AI自动生成测试用例”的核心技术,覆盖从概念理解、工具选择到实战落地的全流程。无论是Web应用、API接口还是移动端功能测试,你都能找到可复用的方法。本文将按照“概念→原理→实战→避坑”的逻辑展开:先通过生活案例理解生成式AI如何生成测试用例,再拆解核心算法原理,接着用Python代码演示完整生成流程,最后分享实际应用中的优化技巧和未来趋势。生成式AI:能“创造内容”的AI模型(如ChatGPT、CodeLlama),像会写作文的智能笔。测试用例。 阅读详情

相关推荐

GD32F4x芯片加密实战:从读保护到安全启动全解析

本文详细解析了GD32F4x芯片加密的实战操作,从读保护功能到安全启动全流程。通过具体代码示例和应用场景分析,帮助开发者有效防止固件被盗用,提升工业控制、智能门锁等场景下的数据安全性。重点介绍了读保护功能的底层机制、配置步骤及常见问题解决方案。

weixin_42629671的博客 207

jQuery+SpringMVC中的复选框选择与传值

一、checkbox选择 在jQuery中,选中checkbox通用的两种方式: $("#cb1").attr("checked","checked");$("#cb1").attr("checked",true); 对应的jQuery函数,主要完成三个功能: 1、第一个复选框选中或取消选中,则下面的复选框为全选或取消全选; 2、当下面的复选框全部选中时,则将第一个复选框设置为选中,当下...

weixin_30765577的博客 235

STK相关总结

STK简介 一.SIM卡应用工具包(SIM Application Toolkit),又名CAT/USAT,它包含一系列终端与SIM卡的交互指令,SIM卡可以应用卡内的小应用程序和终端交互,从而实现增值服务的目的,STK包括三种类,STK-imsi切换,STK –OTA,STK-BIP 功能: (1) Profile download:配置下载,开机初始化SIM卡过程中,终端告诉SIM卡终端支持哪些功能,STK中download指终端将数据发送给SIM卡 (2) Proactive command: 主动式

jingjing_2的博客 3357

onchange()事件的应用

本文为博主原创,未经允许不得转载:        jQuery提供了很多很强大的事件,想要都掌握发现难度蛮大的,只有在不断的应用与实践中学习和掌握。       在做页面的时候,想做一个在选择下拉框选择值的时候,系统根据下拉框选择的值,自动触发先前定义的事件。 本想自己写一个原生的事件来实现,想起来jQuery提供了一个自动触发的事件onchange(),可以在下拉框选择的值 改变的同时,触发定义...

weixin_33725239的博客 1609

二、声明式 Pipeline 语法

选择型参数,一般用于给定几个可选的值,然后选择其中一个进行赋值,例如:parameters { choice(name: ‘CHOICES’, choices: [‘one’, ‘two’, ‘three’], description: ‘’) },表示定义一个名为 CHOICES 的变量,可选的值为 one、two、three;默认情况下,如果定义了某个 stage 的 agent,在进入该 stage 的 agent 后,该 stage 的 when条件才会被评估,但是可以通过一些选项更改此选项。

Cyan_Jiang的博客 1220

Mamba-ST实战:用状态空间模型实现艺术风格迁移的5个关键步骤

本文详细介绍了如何使用Mamba-ST状态空间模型实现高效的艺术风格迁移,涵盖环境配置、数据预处理、模型架构、训练策略和推理优化等5个关键步骤。Mamba-ST基于SSM(状态空间模型)构建,在保持生成质量的同时显著降低计算复杂度,为风格迁移领域提供了新的解决方案。

weixin_29163581的博客 355

SpringMVC的文件上传

1.客户端(ajax)function submitImgSize1Upload(){ var option={ type:'POST', url:'${pageContext.request.contextPath }/upload/uploadPic.do', dataType:'text',

kong_lev的博客 379

Chatbox使用指南

Chatbox使用指南

weixin_65289420的博客 2万+

springMVC4(15)RestFul多视图混合输出

4# 混合使用多种视图技术。 在前面文章里,我们对jsp、json、xml个中视图都进行了较为详细的实例解析,但涉及到的都是单视图使用配置。在实际开发中,我们可能需要混合是使用多种视图技术。尤其是针对REST编程风格,我们可以通过一个URL、多种视图来切合REST风格的同一资源、多种表述。 现在加入我们要输出JSP、JSON、XML...

weixin_34362991的博客 220

K8s-K8s部署Zookeeper+Kafka+ELFK+持久化数据

K8s环境下容器化部署`Zookeeper+Kafka+ELFK`日志收集系统

✅ 专注企业级 Linux/DevOps 运维的实战派 ✅ 已输出上百篇可落地方案 ✅ Shell 脚本开箱即用 ✅ K8s/YAML 环境验证 ✅ 故障排查链路完整复现 1915

基于uniapp实现自定义日历页面、年份月份选择、动态日历渲染、日期标记及备忘录、无组件依赖、多端兼容

基于UniApp框架下自定义日历组件的完整实现方案,涵盖基础日历渲染、年月选择器集成、动态数据标记等核心功能。提供完整代码段,帮助开发者快速构建高性能、高定制化的日历模块,适用于日程管理、预订系统等场景。

商务合作 / 项目定制 / 学习交流。个人vx:lovely_wml 1万+

SpringMVC学习笔记

我的博客园链接

weixin_43403036的博客 223

OTFS 消息传递算法信号检测【附matlab代码详解】

OTFS 消息传递算法方面的一些浅浅理解。

Cuby的博客 4011

springmvc学习笔记1

webapp会变成小蓝点HelloController类-----》 写对应的handler方法MvcConfig类------》 写配置类 指定对应的handlerMapping和handlerAdapter将对应的handlerController放入ioc容器SpringMvcInit类------》初始化getRootConfigClasses ------》 service mapper层的ioc容器配置。

weixin_46743838的博客 1059

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

SpringMVC 学习笔记

执行 invokeHandlerMethod 方法,解析 @initBinder 注解的方法并保存,解析 @SessionAttributes 注解设置的键值对,解析 @ModelAttribute 注解的方法,上述解析的结果将保存在 ModelFactory 对象,ModelFactory 用来初始化 Model 对象,初始化时将 @SessionAttributes 和 @ModelAttribute 设置的值保存到 Model 对象。如果定义了类型转换器,那就对参数类型进行转换。

weixin_55010563的博客 528

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

SpringMVC源码学习笔记

java技术专家全栈成长之路 374

SpringMVC-学习笔记01【SpringMVC概述及入门案例】

SpringMVC-学习笔记01【SpringMVC概述及入门案例】

upward 1365

SpringMvc的学习笔记

/返回值为实体类对象,设置返回值为实体类类型,即可实现返回对应对象的json数据,需要依赖@ResponseBody注解和@EnableWebMvc注解。//返回值为集合对象,设置返回值为集合类型,即可实现返回对应集合的json数组数据,需要依赖@ResponseBody注解和@EnableWebMvc注解。//返回值为String类型,设置返回值为任意字符串信息,即可实现返回指定字符串信息,需要依赖@ResponseBody注解。

qjw0319的博客 224

SpringMVC学习笔记及文章收录

本篇为自己学习SpringMVC是的一些笔记和文章收集,备忘。 1、文章一:http://my.oschina.net/HeliosFly/blog?catalog=450319       里面还有一些其他的文章,可以看看Java的lambda 2、Springmvc构造RESTful详细讲解        http://www.blogjava.net/soken/articles

tiger的专栏 602

SpringMVC学习笔记(一)第一个springmvc程序

eclipse快捷键: 查找文件open type ctrl + shift +t 格式化代码 CTRL + SHIFT + F 返回上一编辑位置 alt+键盘左键 变为大/小写:Ctrl+Shift+X/Y 代码提示 alt+/ Eclipse小技巧: 复制类全名:将该类点开,然后选中类名,右键选择copy qualified name,再复制出来的就是完整的带类名的。 SpringMVC学习笔记: 1.必须要的jar包:spring-aop.jar spring-bean.jar spring

weixin_41083069的博客 368

SpringMVC学习笔记五:HandlerExceptionResolver异常处理

SpringMVC学习笔记五:HandlerExceptionResolver异常处理

10年职场两茫茫,35岁凄凉奈若何 214

springMVC学习笔记:一些常用注解的使用

在JavaEE开发中,几乎全部是基于b/s架构的开发。那么在b/s架构中,系统的标准三层架构包括:表现层、业务层、持久层。创建web应用程序表现层常使用MVC模式,MVC全名是Model View Controller.是模型(Model), 视图(view) ,控制器(controller)的缩写。在Java开发中实现MVC设计模型的请求驱动类型的轻量级web框架为springMVC。

jocer_zhu的博客 800
上一篇: Access restriction: The type JPEGImageEncoder is not accessible due to restriction
下一篇: virtualbox中Linux系统中安装Nginx
shi-Yjanuary
博客等级 码龄10年 4粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值