1. 概念

  伪静态,简单来说是指转换url地址,在这里用来替换掉urlMapping。因为urlMapping需要为每一个页面都进行配置,非常麻烦。

2. RequestMapping

3. Spring 注解

3.1. 概念

  注解后,可动态操作成员。

3.2. 条件

  注解声明、使用注解的元素、操作使用注解元素的代码。

3.3. 注解配置

3.3.1. 打开spring-servlet.xml

3.3.1. 处理urlMapping

  在spring-servlet.xml里面:

  注释或删除urlMapping。

3.3.2. 添加扫描

3.3.2.1.  添加

  在spring-servlet.xml里面,添加

  <context:component-scan base-package=“com.myweb”></context:component-scan>

3.3.2.2.  报错

  Open quote is expected for attribute "base-package" associated with an element type "context:componet-scan"

  Java 英语

3.3.2.3.  分析

  问题也就是出在"base-package"上面,expected for ,就是说,上面给的无效的。仔细一看,引号有问题,是中文的。

3.3.2.4.  解决

  “com.myweb”应该为英文的"com.myweb"

3.3.2.5.  又报错

  The prifix "context" for element "context:component-scan" is not bound.

3.3.2.6.  分析

  意思好像是 "context"没有引用进来。果然是。

3.3.2.7.  解决
<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.1.xsd"> <context:component-scan base-package="com.myweb"></context:component-scan> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"></property>
<property name="suffix" value=".jsp"></property>
</bean> <bean id="IndexAction" class="com.myweb.IndexAction">
<property name="view">
<value>index</value>
</property>
</bean> </beans>

新的spring-servlet.xml

  指的是要扫描指定包下的文件,如有标记则表示该文件为控制器。

3.3.3. 配置控制器标记

3.3.3.1. 生成新的控制器文件

  在包com.myweb(控制器包)下面,生成新文件NewsAction.java。

  在jsp下面生成对应的News.jsp,并把index.jsp里面的内容拷进来稍微改动下。

3.3.3.2. 注解控制器

需要两步

3.3.3.2.1. @Controller
package com.myweb;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView; @Controller
public class NewsAction { }

  只需要添加@Contoller,即告诉Spring,该类为控制器。控制器不用再实现Controller接口。

3.3.3.2.2. @RequestMapping
    @RequestMapping("/newsshow")
public ModelAndView ShowNews(){ ModelAndView mv = new ModelAndView("news"); return mv;
}

newsshow,代表网页访问符。

news,代表news.jsp

3.3.3.4. 使用控制器

  上面的例子对应这么输入:http://localhost:8080/newsshow.do

4. 去掉url中的 .do等后缀

4.1. 打开工程中的web.xml

4.2. 修改servlet-mapping

  这里指定servlet。

    <servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

  把<url-pattern></url-pattern>中的.do 改为 /,表示从根目录开始,都用名为spring的servlet处理。

4.2. 修改filter-mapping

  这是字符集处理。

  <filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/</url-pattern>
</filter-mapping>

  同样处理,把<url-pattern></url-pattern>中的.do 改为 /。

5. 使用路径参数

    @RequestMapping("/news/{id}/")
public ModelAndView ShowNewsCatalog(@PathVariable String id){ ModelAndView mv = new ModelAndView("news"); return mv;
}

  注意,红颜色标准的参数名必须相同。

Java 伪静态 Mapping的更多相关文章

  1. java 伪静态的方法

    1.jar包支持urlrewritefilter-4.0.3.jar  http://files.cnblogs.com/simpledev/urlrewritefilter-4.0.3.rar 2. ...

  2. Mysql Java type mapping

    MySQL Type Java Type ---------- --------- CHAR String VARCHAR String LONGVARCHAR String NUMERIC java ...

  3. Java资源大全中文版(Awesome最新版)

    Awesome系列的Java资源整理.awesome-java 就是akullpp发起维护的Java资源列表,内容包括:构建工具.数据库.框架.模板.安全.代码分析.日志.第三方库.书籍.Java 站 ...

  4. Java开源GIS系统

     uDig  基于Eclipse RCP的uDig开源项目既是一个GeoSpatial应用程序也是一个平台开发者可通过这个平台来创建新的在uDig基础上衍生的应用程序,uDig是Web地理信息系统的一 ...

  5. ElasticSearch6.5.0 【Java客户端之REST Client】

    说明 High Level Client 是基于 Low Level Client 的.官方文档如下: * https://www.elastic.co/guide/en/elasticsearch/ ...

  6. MQ java 基础编程(一)

    本文转自:http://www.blogjava.net/i369/articles/88035.html 编写人:邬文俊 编写时间 : 2006-2-16 联系邮件 : wenjunwu430@gm ...

  7. MQ java 基础编程

    MQ java 基础编程 编写人:邬文俊 编写时间 : 2006-2-16 联系邮件 : wenjunwu430@gmail.com 前言 通过 2 个多星期对 MQ 学习,在 partner 丁 & ...

  8. Awesome Java: Github上关于Java相关的工具

    Awesome Java 这是Github上关于Java相关的工具,框架等等资源集合. 原文参考: https://github.com/akullpp/awesome-java. @pdai 最全的 ...

  9. mapstruct解放Java对象转换

    摘要 当前web后端开发,都是使用多层工程结构,需要在VO,BO,DTO,DO等各种数据结构中相互转换.这些转换代码都是些比较简单的字段映射,类型转换,重复性工作比较高,可以使用一些工具解放我们的双手 ...

随机推荐

  1. UILabel 解析及自适应

    CGFloat width1=[(NSString *)ob1 sizeWithFont:[UIFont systemFontOfSize:16] constrainedToSize:CGSizeMa ...

  2. 项目整体说明及WBS练习

    乐谱识别研究的意义 纸质乐谱向数字化乐谱的转换,是人类音乐活动与计算机音乐处理之间进行信息交流的必经之路.光学乐谱识别是将纸质乐谱扫描输入计算机后,对乐谱图像加以处理.识别.分析,最终获得乐谱的计算机 ...

  3. 如何给对话框中的控件发送消息呢?Windows消息分类

    以博文CTabCtrl中介绍的那样,给Tab添加子对话框来显示Tab内容.那么如果这个子对话框中含有个CTreeCtrl控件,有个Button控件,我想要模拟给这两个控件发送消息,该怎么办呢?直接把给 ...

  4. download plugin update site for offline installation

    Reference Eclipse Launcher Running update manager from command line   好多次为window下的eclipse不能拿到linux下直 ...

  5. 【HighCharts系列教程】九、语言属性——Lang

    一.lang属性说明 Lang属性主要用于配置显示的文字等语言相关属性. 主要可配置如下内容:小数点符号.导出相关文字.月份文字.星期文字等 lang属性不重要,无特殊情况,不用配置. 二.lang属 ...

  6. Linux iptables 防火墙详解

    0x00 iptables介绍 linux的包过滤功能,即linux防火墙,它由netfilter 和 iptables 两个组件组成. netfilter 组件也称为内核空间,是内核的一部分,由一些 ...

  7. cookie讲解-------浏览器种cookie

    1  responce添加Set-Cookie参数: http request的返回responce为: [('Content-Type', 'application/x-javascript'), ...

  8. 串口通信中ReadFile和WriteFile的超时详解!

    源:串口通信中ReadFile和WriteFile的超时详解! 在用ReadFile和WriteFile读写串行口时,需要考虑超时问题.如果在指定的时间内没有读出或写入指定数量的字符,那么ReadFi ...

  9. android 6.0获取权限

    Android版本升到6.0后最坑的就是权限问题,以下是我参考大神一个权限管理工具类,希望对大家有用 PermissionUtils.java import android.Manifest; imp ...

  10. sort用法

    一.sort用法sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出.vim 1.txt 1:datadir=/aaa/zzz:2: ...