欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

spring mvc简单项目示例

程序员文章站 2022-05-05 15:17:38
...

       但凡进行java网站开发的人,都有学过spring mvc的开发。下面用一个获取当前时间和时区的简单示例,展现一下怎么用myeclipse 10,来创建一个spring mvc项目。

       1.打开MyEclipse-->File-->New-->Web Project,在打开的对话框里面输入Project Name为GetTimeDemo,点击Finish,完成项目建立。

spring mvc简单项目示例

        2.导入srping mvc相关包,本地没有的话需要按下面的下载地址进行下载后解压,这里有两种方式导入:第一种在新建项目上右键选择,properties-->Java Build Path-->Libraries-->Add External JARs,引入spring-framework-版本号.RELEASE-dist目录下几个必需的jar包.第二种是直接找到这几个相关包,进行复制粘贴到项目中的WEB-INFO/lib目录下。这里我更习惯于采用第二种,导入完成后项目结构如下图

包下载地址:http://repo.spring.io/libs-release-local/org/springframework/spring/

spring mvc简单项目示例

        可以看到,上面我们导入了7个相关包,像数据库连接、websocket之类的并没有导入进去。同时说明一下,这里commons-logging-1.1.1.jar这个包需要一并导入,因为spring需要它,spring的内部实现中使用了Commons-logging包内的方法,当然你也可以用这个包的其它版本。

       3.打开项目的web.xml文件,进行相关配置,这里的配置是针对于项目网站。将编码添加以下代码,进行URI地址处理:

<!--配置拦截器-->
	<servlet>
	<servlet-name>SpringMVC</servlet-name>
	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
	</servlet>
	<!--指定servlet的引擎为SpringMVC-->
	<servlet-mapping>
	<servlet-name>SpringMVC</servlet-name>
	<!-- 监听所有请求 -->
	<url-pattern>/</url-pattern>
	</servlet-mapping>
        4.添加SpringMVC-servlet.xml文件,文件名称去掉“-servlet”后和上面servlet-name的值一致更好,这里是“SpringMVC-servlet”,这样的话不需要在web.xml做另行配置。该文件是针对于SpringMVC的相关配置,文件内容如下:

<?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:p="http://www.springframework.org/schema/p"
	xmlns:context="http://www.springframework.org/schema/context"
	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-3.0.xsd">
    
  <!--扫描基包下的所有注解类-->
  <context:component-scan base-package="com.springmvc"></context:component-scan>
  
  <!--启动注解驱动SpringMVC功能,并配置视图名称-->
  <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
  p:viewClass="org.springframework.web.servlet.view.JstlView"
  p:prefix="WEB-INF/view/"   
  p:suffix=".jsp"/>    
 
</beans>
        5.以上配置完成后,开始进行正式代码处理。添加视图在WebRoot目录下,新建views文件夹,添加test.jsp,编码设置为UTF-8,因为这里要显示时间,我们修改了页面body,代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'list.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">

  </head>
  
  <body>
    <h2>用Date获取当前时间:${NowTime1}</h2>  
    <h2>用Calendar获取当前时间:${NowTime2}</h2>  
    <h2>当前时区${Timezone}</h2>  
  </body>
</html>
        上面形如${NowTime1}的表达式,是一种用来显示controller传递过来的NowTime1变量的方式,这样后台控制器获取到的时间等信息,才能显示到视图页面上来。

     6.接下来处理控制器controller,在src目录下,新建com.springmvc包,并添加TestController类,主要代码如下

@Controller               
public class TestController {
	
	@RequestMapping("/test")
	public String list(Model model) { 
		Date date = new Date();
		String dateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss",Locale.CHINA).format(date);  
        model.addAttribute("NowTime1", dateTime);  
		Calendar calendar = Calendar.getInstance();
		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss",Locale.CHINA);
		String dateStr = df.format(calendar.getTime());
		model.addAttribute("NowTime2", dateStr);  
		String zone = System.getProperty("user.timezone");
        model.addAttribute("Timezone", zone);  
		return "test";
	}
}
        这里函数的RequestMapping("/test")申明,指定了请求路径对应关系。参数Model为模型,是数据的桥梁,它将NowTime1等参数及对应值传递到视图页面,以便显示。最后的return“test”,是返回路径,这里只有一个"test"是因为我们在SpringMVC-servlet.xml文件中,配置了p:prefix和p:suffix的值,让我们不必返回页面全路径字符串。当然,如果要采用返回全路径的话,返回值应该是return new ModelAndView("全路径")的形式。
      7.至此,简单的spring mvc项目即创建完毕。运行项目后,会加载web.xml中默认配置的网站首页index.jsp。在地址中添加“/test”后刷新,将看到我们的test页面被加载了出来,如图所示:

spring mvc简单项目示例