一、springMVC流程图省略
二、写一个简单的springmvc的demo来说明
2.1引入springMVC相关的jar包
2.2配置DispatcherServlet 在web.xml
<servlet> <!-- springmvc的配置文件必须在【servlet-name】-servlet.xml --> <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- DispatcherServlet加载指定的springmvc的配置文件 --> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springMVC-annotation.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>springMVC</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>
2.3配置springmvc的配置文件
<?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"> <!-- 配置一个handlerMapping 如果自己不配置handlerMapping 会默认有一个handlerMapping bean:表示对于什么什么的一个类 ctrl+shift+t:查找某个类的源码及路径 --> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean> <!-- 注册自己的controller类 --> <bean name="/my.do" class="com.zhiyou100.xz.controller.MyController1"></bean> <!-- 配置视图解析器 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/view/"/> <property name="suffix" value=".jsp"/> </bean> </beans>
2.4创建Controller类
public class MyController1 extends AbstractController{ @Override protected ModelAndView handleRequestInternal(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception { ModelAndView mv=new ModelAndView(); mv.setViewName("login");// /WEB-INF/view/login.jsp mv.addObject("username", "Hello World!");//功能类似于setAttribute 在request中 System.out.println("====mycontroller1===="); return mv; } }
三、springmvc的流程
四、常见的HandlerMapping
4.1 BeanNameUrlHandlerMapping 根据bean标签的名称找到对应的Controller类
4.2 SimpleUrlHandlerMapping 根据bean的id查找对应的Controller类。
4.3 ControllerClassNameHandlerMapping 根据controller类的名字找到对应的Controller。
五、使用注解来替代配置信息
5.1 添加aop的jar包
5.2 创建Controller类
import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller //等价于<bean class="com.zhiyou100.xz.controller.annotation.MyController1"> public class MyController1 { @RequestMapping("/list.do") //RequestMapping:表示的就是你的访问地址 public String list() { System.out.println("查询所有"); return "login"; } }
六、通过springmvc来完成接受的参数
import com.zhiyou100.xz.controller.bean.User; @Controller @RequestMapping("/user") public class MyController1 { @RequestMapping("/list.do") //RequestMapping:表示的就是你的访问地址 public String list(String name,int age) { //参数一定要和请求的参数名相同 System.out.println("name:"+name+";age:"+age); return "login"; } @RequestMapping("/list2.do") //RequestMapping:表示的就是你的访问地址 public String list(User user) { //参数一定要和请求的参数名相同 System.out.println(user); //请求的参数名要和实体类中的属性名相同 return "login"; } }
注意:
接受参数时出现乱码。使用过滤器。(自定义的过滤器 也可以使用springmvc提供的过滤器)
原文:https://www.cnblogs.com/sitian2050/p/11450515.html