`

基于注解SpringMVC+freemarker实例

 
阅读更多

基于注解的SpringMVC+freemarker demo实例

 

web项目图



 

web.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <servlet>
	<!-- 配置DispatcherServlet -->
	<servlet-name>springmvc</servlet-name>
	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
	<!-- 指定spring mvc配置文件位置 不指定使用默认情况 -->
	  <init-param>   
        <param-name>contextConfigLocation</param-name>   
    	<param-value>/WEB-INF/springmvc-servlet.xml</param-value>
    	<!--默认:/WEB-INF/<servlet-name>-servlet.xml
		classpath方式:<param-value>classpath:/spring-xml/*.xml</param-value>    
    	 -->   
       </init-param>
	<!-- 设置启动顺序 -->
	<load-on-startup>1</load-on-startup>
  </servlet>
  <!-- 配置映射 servlet-name和DispatcherServlet的servlet一致 -->
  <servlet-mapping>
	<servlet-name>springmvc</servlet-name>
	<url-pattern>/</url-pattern><!-- 拦截以/所有请求 -->
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

 

springmvc-servlet.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
	xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
	http://www.springframework.org/schema/beans/spring-beans.xsd
	 http://www.springframework.org/schema/mvc 
	 http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd 
	 http://www.springframework.org/schema/aop 
	 http://www.springframework.org/schema/aop/spring-aop-3.0.xsd 
	 http://www.springframework.org/schema/context 
	 http://www.springframework.org/schema/context/spring-context.xsd">

	 <!-- 默认注解映射支持 -->
	 <mvc:annotation-driven/>	
	 <!-- 自动扫描包 --> 
	 <context:component-scan base-package="com.spring.freemarker" />
	 
	 <!--<context:annotation-config /> 配置自动扫描包配置此配置可省略-->	
	 <!--<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" 配置自动扫描包配置此配置可省略/>-->
	 <!-- 配置freeMarker的模板路径 -->
	 <bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
		<property name="templateLoaderPath" value="WEB-INF/ftl/" />
		<property name="defaultEncoding" value="UTF-8" />
	 </bean>
	 <!-- freemarker视图解析器 -->
	 <bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
	 	<property name="suffix" value=".ftl" />
	 	<property name="contentType" value="text/html;charset=UTF-8" />
	 	<!-- 此变量值为pageContext.request, 页面使用方法:rc.contextPath -->
		<property name="requestContextAttribute" value="rc" />
	 </bean>
</beans>

 

 FreeMarkerController类

package com.spring.freemarker;

import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import com.spring.vo.User;

@Controller
@RequestMapping("/home")
public class FreeMarkerController {

	@RequestMapping("/index")
	public ModelAndView Add(HttpServletRequest request, HttpServletResponse response) {

		User user = new User();
		user.setUsername("zhangsan");
		user.setPassword("1234");
		List<User> users = new ArrayList<User>();
		users.add(user);
		return new ModelAndView("index", "users", users);
	}

}

 User类

package com.spring.vo;

public class User {

	private String username;
	private String password;

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

}

 

 index.ftl文件

<!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>
<#list users as user>
username : ${user.username}<br/>
password : ${user.password}
</#list>
</body>
</html>

 部署到tomcat,运行:http://localhost:8080/springmvc/home/index

  显示结果:

  username : zhangsan
  password : 1234

  • 大小: 21.9 KB
分享到:
评论

相关推荐

    Maven+SpringMVC+Freemarker Demo

    "Maven+SpringMVC+Freemarker Demo"是一个经典的Java Web开发实例,它展示了如何利用现代工具链进行高效开发。Maven简化了依赖管理,SpringMVC提供了强大的MVC框架,而Freemarker则让视图层更加灵活。理解并掌握这三...

    手动创建 SpringMvc +SpringDataJpa+Hibernate+ freemarker mavenProject+ 环境切换 webDemo

    在本项目中,我们主要探讨如何手动构建一个基于SpringMVC、Spring Data JPA、Hibernate以及FreeMarker模板引擎的Maven工程,同时实现环境切换功能。这个基础框架为日常开发工作提供了必要的支持。 首先,SpringMVC...

    springmvc+hibernate+freemarker基于注解

    Spring MVC 基于注解的开发方式,允许开发者在类和方法上使用注解来声明控制器、请求映射、参数绑定等,极大地减少了配置文件的使用,提高了开发效率。例如,`@RestController` 和 `@RequestMapping` 注解分别用于...

    springmvc+mybatis+ehcache+freemarker+sitemesh页面布局(注解)整合实例完美运行

    本实例主要涉及的技术栈包括SpringMVC、MyBatis、EhCache、FreeMarker以及Sitemesh,这些技术都是Java Web开发中的重要组件,各自承担着不同的职责。下面将分别详细介绍这些技术以及它们在整合中的作用。 1. ...

    Springmvc+dubbo+mybatis+mysql+redis

    标题 "Springmvc+dubbo+mybatis+mysql+redis" 描述了一个基于Java技术栈的分布式微服务架构。在这个系统中,SpringMVC作为前端控制器处理HTTP请求,Dubbo用于服务治理,MyBatis是持久层框架,MySQL是关系型数据库,...

    SpringMVC+Mysql实例详解

    SpringMVC是Spring框架的一部分,专门用于构建Web应用程序。...通过这个实例,你可以了解如何利用SpringMVC的注解驱动、依赖注入特性,以及如何与MySQL数据库无缝集成,为开发高效、健壮的Web应用奠定基础。

    应用实例,可运行maven+springmvc+mybaits+freemarker+velocity

    这是一个基于Java技术栈的应用实例,整合了多个关键的开源框架,包括Maven、SpringMVC、MyBatis、FreeMarker和Velocity。这些技术在IT行业中广泛应用于开发企业级Web应用程序,构建高效、灵活且可维护的系统。接下来...

    SpringMVC+Mybatis实例

    2. **Controller**:控制器接口或基于注解的控制器类,处理请求并返回ModelAndView对象,其中包含视图名和数据模型。 3. **Model**:数据模型,用于存储业务数据。 4. **ViewResolver**:视图解析器,根据...

    SpringMVC精品资源--SpringMVC+Mybatis 脚手架.zip

    这个名为"SpringMVC精品资源--SpringMVC+Mybatis 脚手架.zip"的压缩包很可能包含了一个完整的项目模板或者学习资料,旨在帮助开发者快速搭建基于这两个框架的Web应用。 首先,SpringMVC是一个模型-视图-控制器(MVC...

    spring+springMVC+Hibernate整合

    4. **定义模型和控制器**:在业务逻辑层,我们可以创建基于Spring的bean,这些bean可以使用@Autowired注解注入所需的依赖,如DAO或Service。同时,创建对应的控制器类,处理HTTP请求,将处理结果转发到视图。 5. **...

    学生系统平台的SpringMVC+MyBatis代码

    2. **依赖注入**:SpringMVC利用Spring框架的依赖注入特性,使得组件之间的依赖关系可以通过配置文件或注解来声明,降低了耦合度。 3. **模型绑定**:它支持数据验证和模型对象的自动绑定,简化了表单数据的处理。 4...

    spring+springmvc+mybatis 简单实例

    8. **视图(View)**:在SpringMVC中,视图通常由JSP、Thymeleaf、FreeMarker等模板引擎处理。Controller处理完请求后,会指定一个视图名称,SpringMVC会根据视图解析器的规则找到对应的页面。 9. **测试**:为了...

    SSM框架——详细整合教程(Spring+SpringMVC+MyBatis).docx

    通过以上步骤,可以实现一个完整的基于Spring、SpringMVC和MyBatis的Web应用。在整个过程中,需要注意以下几点: - **模块化设计**:遵循良好的软件工程原则,合理划分各层的职责。 - **异常处理**:合理处理可能...

    基于SpringMvc+Spring图书信息管理系统

    总结来说,《基于SpringMvc+Spring图书信息管理系统》是一个全面展示JavaWeb开发技术的实例,涵盖了从后端服务到前端展示的完整流程,涉及SpringMvc的MVC模式、Spring的DI和AOP、数据库操作、安全控制等多个关键知识...

    springmvc +mybatis例子

    - **前端组件库**:EasyUI 是基于 jQuery 的一组 UI 组件,提供了丰富的界面元素,如表格、表单、对话框、菜单等。 - **DataGrid**:用于显示和操作表格数据,支持排序、筛选、分页等功能。 - **Form**:处理表单...

    springmvc+mybatis整合实例

    6. **ViewResolver**:视图解析器,根据 ModelAndView 中的视图名解析实际的视图对象,如 JSP、FreeMarker 等。 7. **注解驱动开发**:使用 @RequestMapping、@RequestParam、@PathVariable 等注解简化控制器的编写...

    spring+springMVC+mybatis+maven简单demo.zip

    《构建基于Spring+SpringMVC+MyBatis+maven的简单Web应用》 在现代的Java Web开发中,Spring框架以其强大的功能和灵活性被广泛使用。SpringMVC作为Spring的一部分,是处理HTTP请求和响应的强大工具,而MyBatis则为...

    springMVC+mybatis搭建框架

    SqlSessionFactory是MyBatis的核心,它负责创建SqlSession实例,而SqlSession则用于执行SQL语句。同时,我们需要为每个数据访问对象(DAO)创建一个Mapper接口,以及对应的XML映射文件,定义SQL查询和更新操作。 ...

    spring+springmvc+mybatis.rar

    2. SpringMVC:Spring的Web MVC模块,是一个基于模型-视图-控制器(MVC)设计模式的轻量级Web框架。SpringMVC负责处理HTTP请求,将请求转发到相应的控制器,再由控制器调用业务逻辑,最终返回响应给用户。它支持多种...

    金典springMVC+Hibernate框架实例

    【金典springMVC+Hibernate框架实例】是一个深入讲解企业级应用开发的教程,它结合了Spring MVC和Hibernate两大主流框架,旨在帮助开发者构建高效、稳定且易于维护的Java Web应用。Spring MVC作为Spring框架的一部分...

Global site tag (gtag.js) - Google Analytics