hjr-JAVA:SpringMVC入门

所有的java框架都是jar包,下载导入就安装好了框架,之后就是进行配置。
#下载

http://repo.springsource.org/libs-release-local/org/springframework/spring/4.3.6.RELEASE/spring-framework-4.3.6.RELEASE-dist.zip

上面的链接复制到浏览器,两个版本号自行更改。
#配置

  1. 把下载的所有jar包放到WEB-INF/lib里就行,个人认为包导的越多越好,毕竟导一次+开发完成清理1+1=2次,缺哪个导哪个>2次。
  2. SpringMVC框架需要配置web.xmlspring-mvc.xml两个文件和一个控制器如果没有自己添加,web.xml放到WEB-INF下spring-mvc.xml见下。

##web.xml
下面代码放到<web-app>包裹下:

    <!-- 配置DispatchcerServlet -->
    <servlet>
        <servlet-name>springDispatcherServlet</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>
        <load-on-startup>1</load-on-startup>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>springDispatcherServlet</servlet-name>
        <url-pattern>*.html</url-pattern>
    </servlet-mapping>

可能改动

  • 如果spring-mvc.xml文件被放到src目录下,这个<param-- value>classpath:spring-mvc.xml</param-value>不用改。
  • <url-pattern>*.html</url-pattern>这句中的*.html可以自己改成*.do、·*.jsp·之类的,主要影响最后url的后缀,有些伪静态可能愿意用*.html

其余不用改。

##spring-mvc.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: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-4.0.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
        
        
        <!-- 配置自动扫描的包 -->
        <context:component-scan base-package="com.apache"></context:component-scan>
        
        <!-- 配置视图解析器 如何把handler 方法返回值解析为实际的物理视图 -->
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name = "prefix" value="/WEB-INF/view/"></property>
            <property name = "suffix" value = ".jsp"></property>
        </bean>
</beans>

可能改动

  • <context:component-scan base-package="com.apache"></context:component-scan>此处的base-package可以填控制器所在的包名,com.apache包含com.apache.acom.apache.b
    所有被包含的控制器在url访问到时都会被扫描到。
  • <property name = "prefix" value="/WEB-INF/view/"></property>此处的value为MVC中的view路径。
  • <property name = "suffix" value = ".jsp"></property>此处为的value为view文件夹中文件的格式。

其余不用改。

##控制器
控制器就是java类,可以新建一个com.apache.conlloer包,新建一个HelloConlloer.java控制器

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class HelloWorldController {
	/**
     * 1. 使用RequestMapping注解来映射请求的URL
     * 2. 返回值会通过视图解析器解析为实际的物理视图, 对于InternalResourceViewResolver视图解析器,会做如下解析
     * 通过prefix+returnVal+suffix 这样的方式得到实际的物理视图,然后会转发操作
     * "/WEB-INF/views/success.jsp"
     * @return
     */
	@RequestMapping("/hello")
	public String hello(Model model) {
		model.addAttribute("message","SprinfMVC你好");
		System.out.println("hello world");
		return "hello";
	}
}
  • @Controller 声明一下是SpringMVC控制器。
  • @RequestMapping("/hello"),此处的hello为url后缀。
  • return的内容为view里的文件名,之前在spring-mvc.xml中曾经配置过view文件夹路径和视图文件的后缀。
    ##视图
    view文件夹里写控制器中return到的视图文件,
    随便建一个jsp文件,此处的后缀和上面的定义有关,名字就是return的字符串。
<%@ page language="java" pageEncoding="UTF-8" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//ZH">
<html>
<HEAD>
<TITLE>测试</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</HEAD>
<body>
${message }
</body>
</html>

#总结

  1. web.xml中配置spring-mvc.xml的路径和url访问控制器的后缀。
  2. spring-mvc.xml中配置视图(view)的路径和文件类型。
  3. 在java包里写控制器进行逻辑处理,同时声明我是控制器,和通过什么名字访问到我。
  4. 写控制器return到的视图文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

架构师小侯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值