SpringMVC 3:注解配置快速入门
程序员文章站
2022-07-15 11:09:50
...
需要导入的包:
com.springsource.org.aopalliance-1.0.0.jar spring-aop-3.2.5.RELEASE.jar spring-aspects-3.2.5.RELEASE.jar spring-beans-3.2.5.RELEASE.jar spring-context-3.2.5.RELEASE.jar spring-context-support-3.2.5.RELEASE.jar spring-core-3.2.5.RELEASE.jar spring-expression-3.2.5.RELEASE.jar spring-web-3.2.5.RELEASE.jar spring-webmvc-3.2.5.RELEASE.jar
Spring3.1之前和Spring3.2的解析器和适配器是不一样的
在spring3.1之前使用的注解映射器
org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping
在spring3.1之后使用的注解映射器。
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping
在spring3.1之前使用的注解适配器
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter
在spring3.1之后使用的注解适配器
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter
这里使用spring3.2只有的
建立springMVC的配置文件,配置注解驱动、注解需要扫描的包、内部资源视图解析器
<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" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd "> <!-- 注解驱动 --> <mvc:annotation-driven></mvc:annotation-driven> <!-- 自动扫描 --> <context:component-scan base-package="controller"></context:component-scan> <!-- 内部资源视图解析器 --> <bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/page/" /> <property name="suffix" value=".jsp" /> </bean> </beans>
在web.xml中配置当容器启动时加载该文件
<servlet> <servlet-name>defaultServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:SpringMVC-annotation.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>defaultServlet</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>
需要用到的注解
@Controller :生命这个类是一个Controller
@RequestMapping:url路径映射,可以配置多个
建立Controller类,不需要继承任何类
@Controller
public class AnnoController {
@RequestMapping(value={"a1.do","a2.do","/"})
public String method(){
System.out.println("AnnoController method()");
return "springMVC";
}
}
RUL访问路径分别为:
http://127.0.0.1:8080/SpringMVC/a1.do
http://127.0.0.1:8080/SpringMVC/a2.do
http://127.0.0.1:8080/SpringMVC/.do
“/“访问方式是.do要有扩展名,Servlet拦截是需要扩展名
View和Controller的参数传递
第一种使用Map,需要在定义的方法内使用Map,jsp页面通过el直接获取
@RequestMapping(value = { "p" })
public String param(Map<String, Object> model) {
System.out.println("AnnoController param()");
Person p = new Person(1, 17, "lisi");
model.put("p", p);
return "springMVC";
}
第二种使用Model对象,页面使用<c:forEach items="${personList}" var="p">,命名规则是entiti名+List
@RequestMapping(value = { "p2" })
public String param(Model model) {
System.out.println("AnnoController param()");
Person p = new Person(2, 27, "wangwu");
List<Person> list = new ArrayList<Person>();
list.add(p);
model.addAttribute(list);
return "springMVC";
}
推荐阅读
-
Python3程序设计指南:01 过程型程序设计快速入门
-
springmvc注解配置实现解析
-
ELK快速入门(五)配置nginx代理kibana
-
10 分钟快速入门 Python3的教程
-
JAVA WEB快速入门之从编写一个基于SpringBoot+Mybatis快速创建的REST API项目了解SpringBoot、SpringMVC REST API、Mybatis等相关知识
-
【教程】ThingJS 3D开发快速入门 第一讲 开发概述·优势·项目流程
-
Spark快速入门系列(6) | Spark环境搭建—standalone(3) 配置HA高可用模式
-
JAVA WEB快速入门之从编写一个基于SpringMVC框架的网站了解Maven、SpringMVC、SpringJDBC
-
python3爬虫-快速入门-爬取图片和标题
-
荐 Spark快速入门系列(5) | Spark环境搭建—standalone(2) 配置历史日志服务器