SpringMVC框架搭建

来源:互联网 发布:淘宝网鞋子帆布鞋 编辑:程序博客网 时间:2024/06/10 14:07

今天试着搭建SpringMVC框架,论坛中找到一篇教程,其中有点小问题。现在在原作者的基础上整理了一遍。测试后完美运行。

创建项目名称:SpringMVCDemo。

导入jar包,jar包下载路径:http://download.csdn.net/detail/boveysmith/9825558


项目结构如下图:


spring框架配置

1、web.xml配置

<?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"   
        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"  
        id="WebApp_ID"   
        version="3.0">  
        <context-param>  
            <param-name>contextConfigLocation</param-name>  
            <!-- 应用上下文配置文件 -->  
            <param-value>/WEB-INF/spring-servlet.xml</param-value>  
        </context-param>  
        <listener>  
            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
        </listener>  
        <!-- 配置spring核心servlet -->  
        <servlet>  
            <servlet-name>spring</servlet-name>  
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
            <load-on-startup>1</load-on-startup>
        </servlet>  
        <!-- url-pattern配置为/,不带文件后缀,会造成其它静态文件(js,css等)。如配为*.do,则不影响静态文件的访问 -->  
        <servlet-mapping>  
            <servlet-name>spring</servlet-name>  
            <url-pattern>/</url-pattern>  
        </servlet-mapping>  
</web-app> 


2、应用上下文配置

spring-servlet.xml文件配置:

<?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"  
     xmlns:context="http://www.springframework.org/schema/context"  
     xmlns:p="http://www.springframework.org/schema/p"  
     xmlns:mvc="http://www.springframework.org/schema/mvc"  
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
     xsi:schemaLocation="http://www.springframework.org/schema/beans  
          http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
          http://www.springframework.org/schema/context  
          http://www.springframework.org/schema/context/spring-context.xsd  
          http://www.springframework.org/schema/mvc  
          http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">  
         <!-- 启动注解驱动的Spring MVC功能,注册请求url和注解POJO类方法的映射-->  
         <mvc:annotation-driven />  
         <!-- 启动包扫描功能,以便注册带有@Controller、@Service、@repository、@Component等注解的类成为spring的bean -->  
         <context:component-scan base-package="com.mvc.rest" />  
         <!-- 对模型视图名称的解析,在请求时模型视图名称添加前后缀 -->  
         <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/view/" p:suffix=".jsp" />  
   </beans> 

根据spring-servlet.xml配置的包路径(com.mvc.rest)新建Constroller

  1. package com.mvc.rest;  
  2. import javax.servlet.http.HttpServletRequest;  
  3. import javax.servlet.http.HttpServletResponse;  
  4. import org.springframework.stereotype.Controller;  
  5. import org.springframework.ui.ModelMap;  
  6. import org.springframework.web.bind.annotation.PathVariable;  
  7. import org.springframework.web.bind.annotation.RequestMapping;  
  8. import org.springframework.web.bind.annotation.RequestMethod;  
  9. import org.springframework.web.servlet.ModelAndView;  
  10. @Controller  
  11. public class RestConstroller {  
  12.     public RestConstroller() {}  
  13.     @RequestMapping(value = "/login/{user}", method = RequestMethod.GET)  
  14.     public ModelAndView myMethod(HttpServletRequest request,HttpServletResponse response,   
  15.             @PathVariable("user") String user, ModelMap modelMap) throws Exception {  
  16.         modelMap.put("loginUser", user);  
  17.         return new ModelAndView("/login/hello", modelMap);  
  18.     }  
  19.     @RequestMapping(value = "/welcome", method = RequestMethod.GET)  
  20.     public String registPost() {  
  21.         return "/welcome";  
  22.     }  
  23. }  

2、建jsp视图

视图路径在spring-servlet.xml配置(/WEB-INF/view/),据上述RestConstroller 类,我们在WEB-INF下建立view目录,在view下建立welcome.jsp及login/hello.jsp
welcome.jsp随意,hello.jsp代码如下:

  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
  2. <%  
  3. String path = request.getContextPath();  
  4. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
  5. %>  
  6. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  7. <html>  
  8. <head>  
  9. <base href="<%=basePath%>">  
  10. <title>My JSP 'hello.jsp' starting page</title>  
  11. <meta http-equiv="pragma" content="no-cache">  
  12. <meta http-equiv="cache-control" content="no-cache">  
  13. </head>  
  14. <body>  
  15.     你好:<%=request.getAttribute("loginUser") %>,现在时间是<%= new Date() %>  
  16. </body>  
  17. </html>  


3、部署访问

访问路径:

http://localhost:8080/SpringMVCDemo/welcome


参考原文链接: http://blog.csdn.net/linxcool/article/details/7094460/


0 0
原创粉丝点击