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. 2015浙江财经大学ACM有奖周赛(一) 题解报告

    2015浙江财经大学ACM有奖周赛(一) 题解报告 命题:丽丽&&黑鸡 这是命题者原话. 题目涉及的知识面比较广泛,有深度优先搜索.广度优先搜索.数学题.几何题.贪心算法.枚举.二进制 ...

  2. c# winform 点击按钮切换tabcontrol标签

    this.tabControl1.TabPages.Remove(tabPage1); this.tabControl1.TabPages.Remove(tabPage2); this.tabCont ...

  3. Android Studio的使用(三)--包不分级、修改包名

    1.如果不喜欢将包逐级展开的话,可以将每一个包名都完整展现出来,只需要勾选Flatten Packages. 2.修改包名 3.填写新的包名 4.点击确认

  4. 我的git常用命令

    git add . # 将所有修改过的工作文件提交暂存区 git commit -m ""

  5. Java模拟post提交表单数据

    package test; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOExcep ...

  6. Linux之特殊权限(SUID/SGID/SBIT)

    特殊权限的介绍 Set UID 当s这个标志出现在文件所有者的x权限上时,如/usr/bin/passwd这个文件的权限状态:“-rwsr-xr-x.”,此时就被称为Set UID,简称为SUID.那 ...

  7. Mysql基本操作整理

    1.登录数据库 格式: mysql -h主机地址 -u用户名 -p用户密码 –P端口 –D数据库 –e “SQL 内容”>mysql -uroot -p 数据库名称~~~~~~~~~~~~~~~ ...

  8. 从url下载图片--java与python实现方式比较

    从url下载图片--java与python实现方式比较 博客分类: 技术笔记小点滴 javapython图片下载  一.java的实现方式 首先读取图片 //方式一:直接根据url读取图片 priva ...

  9. (简单) POJ 2387 Til the Cows Come Home,Dijkstra。

    Description Bessie is out in the field and wants to get back to the barn to get as much sleep as pos ...

  10. 跳舞链 Dancing Links

    作为搜索里面的一个大头,终于刷了一部分题目了,跳舞链一般都有现成的模板来套...... 至于跳舞链的学习的话,我觉得http://www.cnblogs.com/grenet/p/3163550.ht ...