Spring mvc配置

​ spring mvc是基于DispatcerServlet的mvc架构,

请求先访问 DispatcherServlet,然后DispatcherServlet再转发请求到要应的handler,

httpservlet是在web.xml中配置的

Web.xml的配置

​ 如果没有定义 servlet.xml 则根据架构定义 ,默认的servlet是在web-inf目录 下。名称为*-servlet.xml

<!-- Spring MVC配置 -->
<!-- ====================================== -->
<servlet>
    <servlet-name>spring</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!-- 可以自定义servlet.xml配置文件的位置和名称,默认为WEB-INF目录下,名称为[<servlet-name>]-servlet.xml,如spring-servlet.xml
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/spring-servlet.xml</param-value>&nbsp; 默认
    </init-param>
    -->
    <load-on-startup>1</load-on-startup>
</servlet>

Spring-servlet.xml配置

<!-- 启用spring mvc 注解 -->
    <context:annotation-config />

    <!-- 设置使用注解的类所在的jar包 -->
    <context:component-scan base-package="controller"></context:component-scan>

    <!-- 完成请求和注解POJO的映射 -->
    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
  
    <!-- 对转向页面的路径解析。prefix:前缀, suffix:后缀 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/jsp/" p:suffix=".jsp" />

Controller

@Controller  //类似Struts的Action
public class TestController {

    @RequestMapping("test/login.do")  // 请求url地址映射,类似Struts的action-mapping
    public String testLogin(@RequestParam(value="username")String username, String password, HttpServletRequest request) {
        // @RequestParam是指请求url地址映射中必须含有的参数(除非属性required=false)
        // @RequestParam可简写为:@RequestParam("username")

        if (!"admin".equals(username) || !"admin".equals(password)) {
            return "loginError"; // 跳转页面路径(默认为转发),该路径不需要包含spring-servlet配置文件中配置的前缀和后缀
        }
        return "loginSuccess";
    }}

核心组件:

DispatcherServlet (前端控制器, 处理请求的入口,spring mvc的核心,一般在服务器启动时初始化)

HandlerMapping (映射器对象, 用于管理url与对应controller的映射关系)

Interceptors(拦截器,实现请求响应的共性处理)

Controller (后端控制器, 负责处理请求的控制逻辑)

ViewResolver(视图解析器,解析对应的视图关系:前缀+view+后缀)

参考:

https://blog.csdn.net/qq_40725867/article/details/81748554

https://www.cnblogs.com/superjt/p/3309255.html


本文由 hcb 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论