springMvc初体验

SpringMvc初体验

SpringMvc框架对我来说有一种很奇怪的吸引,第一次尝试着去自己写一个简单的初次体验SpringMvc的一些基础的知识点,这里做上笔记。

初次体验就让我感觉到一个框架的美丽,那么我们去写一个Demo之前,我们需要去准备关于SpringMvc的相关jar我这里就不列举了。

先我们看一下,基础的SpringMvc.xml的配置吧




	
	<context:component-scan base-package="cn.shaojie"/>
	
	
	<mvc:annotation-driven/>
	
	
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		
		<property name="prefix" value="/WEB-INF/static/" />
		
		<property name="suffix" value=".html">property>
	bean>

beans>

别的不说,我觉得我这个像最全的SpringMvc.xml配置了,拿去不谢!

当我们将SpringMvc.xml配置完成后,还有一个需要配置,那就是web.xml,别的不说,这个xml文件是真的多(小小吐槽一下,不要介意),废话不多说,快看一下这个怎么配置吧!


<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
xsi:schemaLocation="
http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
  
   
  <welcome-file-list>
  	<welcome-file>index.jspwelcome-file>
  welcome-file-list>
  
  
  <servlet>
		<servlet-name>springMvcservlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
		<init-param>
			<param-name>contextConfigLocationparam-name>
			<param-value>classpath:spring-mvc.xmlparam-value>
		init-param>
		
		<load-on-startup>1load-on-startup>
  servlet>
  <servlet-mapping>
		<servlet-name>springMvcservlet-name>
		<url-pattern>*.dourl-pattern>
  servlet-mapping>
  
  
  <filter>
  		<filter-name>characterEncodingFilterfilter-name>
  		<filter-class>org.springframework.web.filter.CharacterEncodingFilterfilter-class>
  		<init-param>
  			<param-name>encodingparam-name>
  			<param-value>UTF-8param-value>
  		init-param>
  filter>
  <filter-mapping>
  		<filter-name>characterEncodingFilterfilter-name>
  		<url-pattern>*.dourl-pattern>
  filter-mapping>
  
web-app>

有必要说一个问题,拦截的所有请求都叫*.do为什么是这样,其实没有一个仔细的说明,这里指的应该是请求的方式吧,猜着来呗,代码多变,随便你怎么猜测。不能缺少探索的精神,我这里就遵循以下老的请求方式吧!

以上配置完成,下面就开始测试控制层的代码

@Controller
public class UserController {
	
	@RequestMapping("/index")
	public ModelAndView index(){
		// 这里是对主页面 index.html 的请求
		// 创建 ModelAndView 对象
		ModelAndView modelAndView = new ModelAndView();
		// 设置视图名称 这里的名称就好比是一个请求 请求到 名为 index 的页面
		modelAndView.setViewName("index");
		// 返回视图
		return modelAndView;
	}

}

@Controller注解是将这个类定义为控制器层,控制数据、跳转等。不可或缺。@RequestMapping("/index")注解,作用是映射处理请求的,这里对index.do做对主页面的请求,他接受到请求,创建ModelAndView 对象,又叫视图层。返回对页面的跳转。modelAndView.setViewName("index");这个就是定义页面的名称,也可以称视图的名称(其实都是废话,就是页面的名字,不要乱了),请求完毕,返回视图。

展示下基础的页面,为了体现出上面控制层的作用,回过头看一下。web.xml中配置的欢迎页面index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<% response.sendRedirect("index.do"); %>

项目一运行,访问的就是index.jsp,然后页面重定向到index.do,拦截这个请求,创建视图,跳转到

index.html


<html>
  <head>
    <title>主页title>
  head>
  <body>
    	hello world springMvc!
  body>
html>

初次搭建springMvc到此结束

你可能感兴趣的:(spring)