<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
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.xsd">
</beans>
? ??
然后在配置文件中向Spring IoC容器中注入两个实例。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
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.xsd">
<!-- 注入一个处理器映射器 -->
<bean
class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />
<!-- 注入一个处理器适配器 -->
<bean
class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" />
</beans>
? ? ?
3.4 配置前端控制器
Spring MVC是一个控制层框架,那么需要处理所有的请求,那么我们需要在web.xml文件中配置对应的拦截。
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<!--
配置一个Spring MVC 的前端控制器
目的是所有的客户端的请求都会被 DispatcherServlet 处理
-->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 关联自定义的Spring MVC的配置文件 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
? ? ?
3.5 创建自定义的控制器
package com.bobo.controller;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class UserController implements Controller {
/**
* 具体处理请求的方法
* @param httpServletRequest
* @param httpServletResponse
* @return
* @throws Exception
*/
@Override
public ModelAndView handleRequest(HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) throws Exception {
System.out.println("请求进来了...");
ModelAndView mm = new ModelAndView();
mm.setViewName("/index.jsp");
return mm;
}
}
? ? ?
3.6?自定义控制器的注入
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
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.xsd">
<!-- 注入一个处理器映射器 -->
<bean
class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />
<!-- 注入一个处理器适配器 -->
<bean
class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" />
<!-- 将自定义的控制器注入到IoC容器中 name="/user" 用户访问的请求地址 -->
<bean class="com.bobo.controller.UserController" name="/user" />
</beans>
? ?
3.7?Tomcat插件
通过Tomcat插件来运行项目
<plugins>
<!-- tomcat插件 -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<!-- 端口号 -->
<port>8082</port>
<!-- /表示访问路径 省略项目名 -->
<path>/</path>
<!-- 设置编码方式 -->
<uriEncoding>utf-8</uriEncoding>
</configuration>
</plugin>
</plugins>
??
3.8?测试
启动成功
? ??
http://localhost:8082/user
??
? ?
访问成功!!!
? ??
4. 基于注解的实现
通过上一个普通实现的方式大家会发现其实现步骤比较繁琐,而且自定义的Controller也只有一个默认的方法被调用,不是很方便。我们在开发中常用的是基于注解的方式实现的,接下来就实现。
? ?
4.1 修改Spring MVC 的配置文件
<?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:context="http://www.springframework.org/schema/context"
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/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
">
<!-- 添加对应的扫描路径 -->
<context:component-scan base-package="com.bobo.controller"/>
<!-- 开启Spring MVC 注解的使用方式 -->
<mvc:annotation-driven />
</beans>
? ? ?
4.2 创建控制器
package com.bobo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import javax.jws.WebParam;
@Controller // 将当前类的对象交给容器管理
@RequestMapping("/user") // 配置的而是请求的路径
public class UserController {
/**
* 查询方法
* 请求地址
* http://localhost:8082/user/query
* @return
*/
@RequestMapping("/query")
public ModelAndView query(){
System.out.println("query");
ModelAndView mm = new ModelAndView();
mm.setViewName("/index.jsp");
return mm;
}
/**
* 添加方法
* 请求地址
* http://localhost:8082/user/addUser
* @return
*/
@RequestMapping("/addUser")
public ModelAndView addUser(){
System.out.println("add User ...");
ModelAndView mm = new ModelAndView();
mm.setViewName("/index.jsp");
return mm;
}
}
??
4.3测试
文章来源:https://blog.csdn.net/m0_52514893/article/details/135181747
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:chenni525@qq.com进行投诉反馈,一经查实,立即删除!