SpringMVC之一个Controller多个方法及静态文件访问实例
来源:互联网 发布:矩阵乘法 编辑:程序博客网 时间:2024/06/05 08:27
之前完成了SpringMVC的配置及HelloWorld的实现
接着继续SpringMVC的学习
这次涉及到两个方面,一个是多方法Controller,另一个是对静态文件的访问
环境:
IDE:IDEA17
SpringMVC版本:4.3
JDK版本:1.7
Tomcat:7.0
首先,在之前HelloWorldController的实例上新建一个Controller,命名为MultiController.java,然后在web根目录下新建一个img文件夹,用来存放静态的图片文件,再在这个img文件夹下放入两张图片,分别命名为img1,img2,再新建img1.jsp和img2.jsp
目录结构一览
要使用多方法Controller,需要在SpringMVC的配置文件里重新配置bean
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> <bean name="/multi" class="Controller.MultiController"> <property name="methodNameResolver"> <ref bean="paramMethodResolver"/> </property> </bean> <bean name="/helloworld" class="Controller.HelloWorldController"></bean> <!--多方法--> <bean id="paramMethodResolver" class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver"> <property name="paramName" value="action"></property> </bean> <!-- 静态资源访问 --> <mvc:resources location="/img/" mapping="/img/**"/> <!--ViewResolver 视图解析器--> <!--用于支持Servlet、JSP视图解析--> <bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <property name="prefix" value=""/> <property name="suffix" value=".jsp"/> </bean></beans>```多出来的 ` <!--多方法--> <bean id="paramMethodResolver" class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver"> <property name="paramName" value="action"></property> </bean>` 就是多方法Controller的配置 以及另外一个多出来的 ` <bean name="/multi" class="Controller.MultiController"> <property name="methodNameResolver"> <ref bean="paramMethodResolver"/> </property> </bean>` 则是配置了一个新的路径接着编写MultiController.java <div class="se-preview-section-delimiter"></div>
package Controller;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Created by seekhow on 2017/6/22.
*/
public class MultiController extends MultiActionController {
public ModelAndView img1(HttpServletRequest request, HttpServletResponse response){
System.out.println(“—-img1—-“);
return new ModelAndView(“/img1”,”method”,”img1”);
}
public ModelAndView img2(HttpServletRequest request,HttpServletResponse response){ System.out.println("----img2----"); return new ModelAndView("/img2","method","img2");}
}
然后是img1.jsp<div class="se-preview-section-delimiter"></div>
<%@ page language=”java” contentType=”text/html; charset=UTF-8”
pageEncoding=”UTF-8”%>
Insert title here
多方法controller及静态图片访问
本次访问的图片是${method}
img2.jsp<div class="se-preview-section-delimiter"></div>
<%@ page language=”java” contentType=”text/html; charset=UTF-8”
pageEncoding=”UTF-8”%>
Insert title here
多方法controller及静态图片访问
本次访问的图片是${method}
``
http://localhost:8888/multi?action=img1`
代码编写完成,运行试试
输入
OK
这里的action就是配置多方法时property标签里的value值
img1就是MultiController.java里定义的方法名
如果你发现这种情况
就是多方法的包出现了绿色的横线,然后提示说这个用法已经背遗弃掉了,不管它,能够照常运行的,不过是什么意思呢,是这样,SpringMVC2.5以后就可以使用注解版本,3+版本之后就进一步完善注解方式的,XML方式就很少使用了,所以IDEA提醒我们这个东西已经被遗弃了,接下来会接触到注解方式的使用
<mvc:resources location="/img/" mapping="/img/**"/>
这个是mvc标签,来告诉SpringMVC的拦截机制不要拦截访问这个目录的请求
如我输入http://localhost:8888/multi?action=img2
也能很顺利的访问
本次实例成功
- SpringMVC之一个Controller多个方法及静态文件访问实例
- springmvc请求一次,访问多个controller中的方法
- SpringMVC中一个Controller多个方法
- springMVC一个Controller实现多个方法
- springMVC中一个class(controller)中的多个方法
- springMVC学习笔记---controller中实现多个方法
- springmvc controller使用多个validator
- springmvc学习笔记(三)一个Controller中实现多个方法
- springMVC的一个controller方法怎么处理多个请求地址
- SpringMVC访问静态文件
- springMVC访问静态文件
- springMVC访问静态文件
- SpringMVC访问静态文件
- JFinal一个Controller 多个方法配置
- SpringMVC第一个实例
- springMVC上传多个文件
- springMVC上传多个文件
- 多个存储过程完整实例及调用方法
- Cygwin编译可执行文件独立运行
- 基于react-native-swiper 封装的bannerView
- css写提示框 ‘正在加载请。。。。。’
- 旧笔记本改造数码相框
- 详细的Webpack配置教程
- SpringMVC之一个Controller多个方法及静态文件访问实例
- svn仓库迁移简便方法(CentOS下为例)
- 【C#】List.Find
- hive启动报错解决Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
- Android编辑器--多功能输入框重构
- spring4.x注解概述
- Typora 我有我的优雅
- linux安装redis并开启redis扩展
- 关于javascript的int转String与String转int