Java SpringMVC 入门项目教程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/li99yangg/article/details/87699826

SpringMVC 是Spring框架的拓展,主要用于Spring框架Web工程的开发。以前都是Spring+Struts+Mybatis/Hibernate框架,由于Struts曾出现过2次安全事故,使用SpringMVC代替Struts逐渐面向主流。

1.创建Dynamic Web Project,命名为mvcdemo01,在Web-INF目录下创建文件夹lib,导入所需 Jar包。

2.在JAVAResources/src下创建springmvc.xml配置文件。①:包名需要修改成你需要创建的handler包名。②在第二处红名处的意思是,所有访问的url会自动拼接字符串,prefix是前缀,suffix是后缀,举个例子,解析后的字符串是 http://localhost/WEB-INF/jsp/xxxx.jsp  xxxx的前后即拼接的前缀与后缀。而这些都是spring框架自动为我们配置的。

<?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:p="http://www.springframework.org/schema/p"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
        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-3.0.xsd">
    <!-- 启用spring mvc注解 -->
    <context:annotation-config></context:annotation-config>
    <!--  扫描包 -->
    <context:component-scan base-package="com.ly.handler"></context:component-scan>
    
    <!-- 对转向页面的路径解析。prefix:前缀, suffix:后缀   如:http://127.0.0.1:8080/springmvc/jsp/****.jsp-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
         <property name="prefix"  value="/WEB-INF/jsp/">  </property>
         <property name="suffix"  value=".jsp">  </property>

     </bean>
     
</beans>

3.在src下创建com.ly.handler包,我们创建一个IndexController的JAVA类。①:当我们在地址栏输入http://localhost/index时,Spring自带的servlet会为我们自动跳转到controller中的有/index注解的方法中,再进行url拼接。(此处返回的是在WEB-INF/jsp下的index.jsp的页面)

package com.ly.handler;
import org.springframework.web.bind.annotation.RequestMapping;
public class IndexController {
    @RequestMapping("/index")
    public String index(){
        return "index";
    }
}
4.在WEB-INF下创建jsp文件夹,创建index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
Hello,This is index.jsp
</body>
</html>

5.在WEB-INF下创建web.xml文件①url-pattern标签里面的意思是,在url:http://localhost/之后的所有请求都会被转发到Spring 框架中的DispatcherServlet对象,再由其解析后进行转发。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    id="WebApp_ID" version="3.0">
    <display-name>mvcdemo01</display-name>
    <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <!-- contextConfigLocation 是参数名称,该参数的值包含 Spring MVC 的配置文件路径 -->
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

</web-app>

6.我们在地址栏访问http://localhost/mvcdemo01/index,出现下图即配置成功

总结:SpringMVC项目流程:

1.用户在浏览器地址栏输入URL,而这些请求会被统一转发到Spring框架的DispatcherServlet。在解析出index后,在IndexController对象中寻找注解为RequestMapping(“index”)的方法,并等待返回值(返回值是一个字符串,是同名的index),如果没有该方法,那么就会404。

2.DispatcherServlet获得返回值"index"后,进行URL拼接,拼接成http://localhost/mvcdemo01/WEB-INF/jsp/index.jsp(只是在这个地址寻找,并不会修改浏览器地址栏的url)。找到后会返回该页面。

猜你喜欢

转载自blog.csdn.net/li99yangg/article/details/87699826