SpringMVC静态资源处理

通常会配置SpringMVC拦截所有请求

即将DisptcherServlet的url-pattern设置为
/

此时会导致SpringMVC同时拦截.css   .jpg  .js等静态资源

而我们并不会为这些静态资源添加相应的@RequestMapping

就会导致静态资源404错误

解决方法:

方法一:让SpringMVC拦截的范围缩小,

即设置url-pattern为*.do
或*.action或者*.spr

方法二:

在springmvc-servlet.xml中

<!--启用默认Servlet处理静态资源,以便支持 Restful URL -->

<mvc:default-servlet-handler/>

方法三:

在springmvc-servlet.xml中

<!--静态文件映射 -->

<mvc:resources mapping="/static/**" location="/static/"/>

处理静态资源,通常会把静态资源放到static文件夹统一管理

方法四:使用动静分离的方案,将静态文件都放在其它服务器上

1.静态资源移走后,springmvc服务器可以专门处理业务请求,

不必再为静态资源消耗处理能力(CPU/内存)

更重要的是不必为静态资源浪费带宽

可以使业务服务器能够并发处理更多请求

2.静态资源可以放在更便宜的服务器上,节省开支

3.静态资源消耗的带宽和磁盘都很大,可以借助CDN加速,

CDN即内容分发网络,是专业从事静态资源互联网级缓存业务的公司提供的

 

SpringMVC收集浏览器传过来数据

方法一:直接在请求处理方法中添加相应的参数,

SpringMVC会自动将请求体/URL中的参数绑定到请求方法的参数上

要求名字必须相同

如果名字不同,可以加@RequestParam(“表单中的名字”)

SpringMVC请求URL与方法映射

@RequestMapping()

既可以写在控制器类上,也可以写在请求处理方法上

如果类上和方法上都有,url将会连接在一起

SpringMVC的的重定向和转发

在Servlet中  重定向        response.sendRedirect(通常写成绝对url)

转发          request.getRequestDisptcher(url).forword(req,res);

在SpringMVC中 重定向  “redirect:url”    Spring
会自动添加应用路径

转发   “forword:url”

SpringMVC从控制器向视图传数据

在Servlet中       调用request.setAttribute(“name”,value);

然后转发请求到JSP页面

在SpringMVC中

① 先拿到model,可以通过在参数中添加Model、ModelAndView等参数拿到

② 调用addObject()  或
addAtrribute() 方法,将数据设置进去

一句话:通过Model传过去!

Maven私有代理服务器

简称Maven私服

   使用私服的原因

1.Maven中央服务器或其它互联代理服务器速度都不如局域网速度快

所以在局域网内搭建一台Maven服务器将会大大

提高jar包的下载速度和稳定性

2.可以把把公司公用的jar(公司自有框架、工具类)包发布到私服上,

公司内部程序员使用时,只需要添加坐标即可

搭建Maven私服

1) 从senotype下载安装包(推荐使用2.x)

2) 安装成windows服务(在bin中运行
nexus install)

3) 启动nexus服务

4) 使用 localhost:8081/nexus访问

5) 登录   账号admin/密码admin123

6) 开启central的索引下载(repositories -> central -> config -> download remote index)

在central这一行点右键,repaire  index  update index

7) 添加阿里云镜像(可选)

(repositories -> add  在表单中填写 名字、阿里云地址)

8) 设置 public组

(repositories -> public.... ->把需要公开的仓库加到左侧

9) 在程序员自己的电脑上把私服的public url设置为镜像

SpringMVC Form标签库

<form:form modelAttribute=”modelName”>

<form:label
path=”属性名”>

<form:input path=”属性名”>

</form:form>

modelAttribute 指向数据模型对象,需要在控制器中创建一个模型对象,通过Model传到页面上

使用Form标签库的好处是,可以简化表单,使表单与模型对象的绑定更方便

                                                                     

 

SpringMVC的表单与模型对象的绑定

    1.使用form标签库的modelAttribute可以指明表单与Model中哪个对象绑定

2.在请求处理方法中可以直接写一个模型类参数,这个模型类参数将被SpringMVC自动填充

3.而且这个模型类参数实际上也存在于Model中,这样如果再次返回这个JSP,则数据会直接传过去,不需要往Model中添加!

SpringMVC的解释与搭建Maven私有代理服务器的更多相关文章

  1. 实战maven私有仓库三部曲之三:Docker下搭建maven私有仓库

    本章是<实战maven私有仓库>系列的第三篇,在前两章中,我们先在linux搭建maven私有仓库,然后在开发环境使用此仓库,本章我们在docker下快速搭建maven私有仓库,然后像前面 ...

  2. 安装Maven并搭建Maven私有仓库

    一.说明 Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具.我们在进行Java代码开发的时候,Eclipse+Maven+Jetty是一个十 ...

  3. 使用nexus3.10搭建maven私有仓库

    使用nexus3.10搭建maven私有仓库-----详见如下链接-- --此贴用于笔记 https://blog.csdn.net/vipbupafeng/article/details/80232 ...

  4. 在 Docker 搭建 Maven 私有库

    在 Docker 搭建 Maven 私有库 小引 If you are developing software without a repository manager you are likely ...

  5. Nexus 搭建maven 私有仓库

    nexus如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地,而一个团队中的所有人都重复的从maven仓库下载构件无疑加大了仓库的负载和浪费了外网带宽,如 ...

  6. Nexus搭建Maven私有仓库

    原文:http://blog.csdn.net/rickyit/article/details/54927101 前言 Nexus Repository Manager is a Javaapplic ...

  7. window7利用Nexus搭建maven私有服务器

    下载地址 https://www.sonatype.com/oss-thank-you-win64.zip: cmd管理员运行命令 nexus.exe/install Nexus Service:(n ...

  8. Linux (Ubuntu)安装nexus,搭建maven私有服务器

     下载 nexus oos(开源版)https://www.sonatype.com/download-oss-sonatype 2 将下载的压缩包上传到/opt/nexus/文件夹下面 3 解压文件 ...

  9. 搭建Maven私有仓库

    Nexus官网下载:Nexus Repository Manager OSS :https://www.sonatype.com/download-oss-sonatype 1.解压 $ tar -z ...

随机推荐

  1. java线程同步方法,方法块差别

    先说同步方法.它究竟是锁定的当前对象,还是当前类 代码块1 package com.ssss; public class Thread1 implements Runnable { //public ...

  2. Flume 中文入门手冊

    原文:https://cwiki.apache.org/confluence/display/FLUME/Getting+Started 什么是 Flume NG? Flume NG 旨在比起 Flu ...

  3. 关于搭配junit 和JUnit报initializationError的解决方法

    关于junit是什么就不复述了,网上有 junit的source code是可以下载的,各个版本都有 地址:https://github.com/junit-team 通过junit 的source ...

  4. Memcached安装以及PHP的调用

    Memcached安装以及PHP的调用 [南京·10月17日]OSC源创会开始报名:Swift.大型移动项目构架分享 » 一:安装libevent 由于memcached安装时,需要使用libeven ...

  5. Composer fails to download http json files on "update", not a network issue, https fine

    "repositories": [ { "packagist": false }, { "type": "composer&quo ...

  6. js 控制不同客户端 访问不同CSS js

    function loadCSS(flag) { var t='.css'; if((navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios ...

  7. 彻底征服 Spring AOP 之 理论篇

    基本知识 其实, 接触了这么久的 AOP, 我感觉, AOP 给人难以理解的一个关键点是它的概念比较多, 而且坑爹的是, 这些概念经过了中文翻译后, 变得面目全非, 相同的一个术语, 在不同的翻译下, ...

  8. Android Studio运行程序,检测不到(夜神、Genymotion)模拟器

    用了统一给的android studio,运行程序,检测不到模拟器(夜神). 又新建了一个系统的模拟器,运行,提示ANDROID_SDK_ROOT is undefined 在环境变量中配置之后,夜神 ...

  9. C语言 · 素数判断

     算法提高 素数判断   时间限制:1.0s   内存限制:512.0MB      编写一函数IsPrime,判断某个大于2的正整数是否为素数. 样例输入: 5样例输出:yes 样例输入: 9样例输 ...

  10. PHP——小尾巴之流程处理

    说明:首先新建一个流程,把处理流程的节点人员添加进去,最后点确定提交至数据库 处理流程:不同用户登录进去处理自己的节点部分对其审核通过 新建两个流程: 第一个为借款流程:处理顺序为:李四发起=> ...