基于注解的Spring mvc 自学实例

来源:互联网 发布:淘宝店长工资多少 编辑:程序博客网 时间:2024/06/01 10:15

 

一、先是在web.xml配置Spring mvc核心控制器DispatcherServlet,其实就是一个servlet。

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 <display-name></display-name>
 <listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 </listener>

 <servlet>
  <servlet-name>doucun_org</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
 </servlet>
 <servlet-mapping>
  <servlet-name>doucun_org</servlet-name>
  <url-pattern>/</url-pattern>
 </servlet-mapping>
 <welcome-file-list>
  <welcome-file>index.jsp</welcome-file>
 </welcome-file-list>
</web-app>

二、servlet.xml,根据第一步web.xml中的配置,来命名servlet.xml名称,规则为 servlet名-servlet.xml。doucun_org-servlet.xml

<?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:p="http://www.springframework.org/schema/p"
 xmlns:context="http://www.springframework.org/schema/context"
 xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
       http://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-3.0.xsd 
       http://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-3.0.xsd 
      http://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-3.0.xsd">
  <!-- 启动Spring的组件自动扫描机制。Spring会自动扫描base-package指定的包中的类和子包里面类 -->  
    <context:component-scan base-package="org.doucun"/>  
       
    <!-- 启动SpringMVC的注解功能,它会自动注册HandlerMapping、HandlerAdapter、ExceptionResolver的相关实例 -->  
    <mvc:annotation-driven/> 

<!-- 由于web.xml中设置是:由SpringMVC拦截所有请求,于是在读取静态资源文件的时候就会受到影响(说白了就是读不到)采用这个去解决 --> 

<mvc:resources mapping="/css/**" location="/css/**"/>  
    <mvc:resources mapping="/img/**" location="/img/**"/> 
    <mvc:resources mapping="/js/**" location="/js/**"/>  
 <!-- 视图解释类-->
 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  <property name="prefix" value="/WEB-INF/jsp/"/>
  <property name="suffix" value=".jsp"/> <!-- 可为空,方便实现自己的依据扩展名来选择视图解析类   -->
  <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
 </bean>
 <bean id="multipartResolver"   
          class="org.springframework.web.multipart.commons.CommonsMultipartResolver"   
          p:defaultEncoding="utf-8" /> 
</beans>

三、Controller文件

package org.doucun.web.Controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.SessionAttributes;


@Controller   //定义一个Controller
public class UserController {


 @RequestMapping("/user")   //
 public String Login(){
  System.out.println(" this is controller");
  return "login";
 }
}

四、在WEB-INF/jsp/login.jsp        代码略

部署运行

原创粉丝点击