`
wy90314
  • 浏览: 2843 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Spring MVC简单环境搭建

 
阅读更多

       刚到公司入职,开发框架使用的是SpingMVC,之前并没有接触过,所以需要提前学习下如何使用,花了这两天的时间,看了一些文档和一些源码,加上各种百度需要的方法说明,终于是搭建起了自己的小demo。

       以下是环境搭建用的jar包:

       com.springsource.javax.servlet.jsp.jstl-1.1.2.jar

       com.springsource.org.aopalliance-1.0.0.jar
       com.springsource.org.apache.commons.logging-1.1.1.jar
       com.springsource.org.apache.taglibs.standard-1.1.2.jar
       org.springframework.aop-3.0.0.RELEASE.jar
       org.springframework.asm-3.0.0.RELEASE.jar
       org.springframework.beans-3.0.0.RELEASE.jar
       org.springframework.context-3.0.0.RELEASE.jar
       org.springframework.context.support-3.0.0.RELEASE.jar
       org.springframework.core-3.0.0.RELEASE.jar
       org.springframework.expression-3.0.0.RELEASE.jar
       org.springframework.web-3.0.0.RELEASE.jar
       org.springframework.web.servlet-3.0.0.RELEASE.jar

       我没有连接数据库,所以一些数据库的驱动包是没有的^_^

 

        首先,建立好包结构,如下

         接下来开始jdbc-servlet.xml(其实就是spring的applicationContext.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:aop="http://www.springframework.org/schema/aop"
	xmlns:tx="http://www.springframework.org/schema/tx" 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/tx     
          http://www.springframework.org/schema/tx/spring-tx-3.0.xsd    
          http://www.springframework.org/schema/context     
          http://www.springframework.org/schema/context/spring-context-3.0.xsd     
          http://www.springframework.org/schema/aop     
          http://www.springframework.org/schema/aop/spring-aop-3.0.xsd"
	default-autowire="byName">
        <!--数据源、事物的配置也放在这里,因为我的demo没放数据库,所以就偷懒不写啦-->
        <!--扫描组建-->
	<context:component-scan base-package="cn.wy.test">
          <!--把Controller屏蔽掉,省的冲突-->
	<context:exclude-filter type="regex" expression="cn.wy.test.action"/>
	</context:component-scan>
</beans>

        当然还要写spring-mvc的配置文件呀,spring-servlet.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:p="http://www.springframework.org/schema/p"
	xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context"
	xmlns:util="http://www.springframework.org/schema/util"
	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
    http://www.springframework.org/schema/mvc  http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
    http://www.springframework.org/schema/util  http://www.springframework.org/schema/util/spring-util-3.0.xsd">
	<!--当然是来扫描Controller的-->
        <context:component-scan base-package="cn.wy.test">
		<context:exclude-filter type="regex"
			expression="cn.wy.test.dao" />
		<context:exclude-filter type="regex"
			expression="cn.wy.test.service" />
			<context:exclude-filter type="regex"
			expression="cn.wy.test.entity" />
	</context:component-scan>
     <!--自动注册DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter 两个bean,
是spring MVC为@Controllers分发请求所必须的。-->
	<mvc:annotation-driven />
        <!--REST风格用来屏蔽静态文件路径-->
	<!-- <mvc:resources location="" mapping=""/> -->
	<!-- <mvc:interceptors> <mvc:interceptor></mvc:interceptor> </mvc:interceptors> -->
	<!-- <mvc:view-controller path="" view-name=""/> -->
	<bean
		class="org.springframework.web.servlet.view.InternalResourceViewResolver"
		p:prefix="/WEB-INF/views" p:suffix=".jsp">
		<property name="viewClass"
			value="org.springframework.web.servlet.view.JstlView" />
	</bean>
</beans>

      最后就是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"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	id="WebApp_ID" version="2.5">
	<display-name>spring_mvc_demo</display-name>
<!--配置父容器-->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>/WEB-INF/jdbc-servlet.xml</param-value>
	</context-param>
<!--配置spring监听器-->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
<!--字符编码过滤-->
	<filter>
		<filter-name>encodingFilter</filter-name>
		<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>UTF-8</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>encodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
<!--配置springMVC的容器(子容器)-->
	<servlet>
		<servlet-name>spring_mvc</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>/WEB-INF/spring-servlet.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>spring_mvc</servlet-name>
		<url-pattern>*.do</url-pattern>
	</servlet-mapping>
	<welcome-file-list>
		<welcome-file>/WEB-INF/index.jsp</welcome-file>
	</welcome-file-list>
</web-app>

       实体类:

 

package cn.wy.test.entity;

public class UserInfoPO {
	private long id;
	private String name;
	private String age;
	private String comeFrom;
	private String work;

	public long getId() {
		return id;
	}

	public void setId(long id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getAge() {
		return age;
	}

	public void setAge(String age) {
		this.age = age;
	}

	public String getComeFrom() {
		return comeFrom;
	}

	public void setComeFrom(String comeFrom) {
		this.comeFrom = comeFrom;
	}

	public String getWork() {
		return work;
	}

	public void setWork(String work) {
		this.work = work;
	}

}
 

 

       DAO接口:

 

package cn.wy.test.dao;

import cn.wy.test.entity.UserInfoPO;

public interface IUserInfoDao {
	public UserInfoPO getUser();
}
       DAO实现类:

 

 

package cn.wy.test.dao.impl;

import org.springframework.stereotype.Repository;

import cn.wy.test.dao.IUserInfoDao;
import cn.wy.test.entity.UserInfoPO;

@Repository("userDao")
public class UserInfoDao implements IUserInfoDao {

	@Override
	public UserInfoPO getUser() {
		UserInfoPO user=new UserInfoPO();
		user.setName("**");
		user.setAge("24");
		user.setComeFrom("大海");
		user.setWork("lol");
		user.setId(1);
		return user;
	}

}
       Service接口:
package cn.wy.test.service;


public interface IUserInfoService {
	public String getInfo();
}
       Service实现类:

 

 

package cn.wy.test.service.impl;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import cn.wy.test.dao.IUserInfoDao;
import cn.wy.test.entity.UserInfoPO;
import cn.wy.test.service.IUserInfoService;

@Service("userService")
public class UserInfoService implements IUserInfoService {

	@Autowired
	private IUserInfoDao userDao;
	
	@Override
	public String getInfo() {
		UserInfoPO u=new UserInfoPO();
		u=userDao.getUser();
		return u.getId()+":我的名字叫"+u.getName()+",我今年"+u.getAge()+"岁,来自遥远的"+u.getComeFrom()+",我现在从事着IT行业,是一名"+u.getWork()+",谢谢。";
	}

}
      Controller类:

 

 

package cn.wy.test.action;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;

import cn.wy.test.entity.UserInfoPO;
import cn.wy.test.service.IUserInfoService;

@Controller
@RequestMapping("/user")
public class UserInfoController {
	@Autowired
	private IUserInfoService userService;

	@RequestMapping(value = "/jieshao.do"/**,method=RequestMethod.POST*/)
	public ModelAndView jieshao(@RequestParam(value = "login") String login,@ModelAttribute(value="user") UserInfoPO user) {
		System.out.println(user.getName()+","+user.getAge());
		ModelAndView mav = new ModelAndView();
		mav.setViewName("/jieshao");
		mav.addObject("jieshao", userService.getInfo());
		return mav;
	}

}
 

 

    HTML

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!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>
	
	<a href='<c:url value="/user/jieshao.do?login=123"/>'>sussess</a>
	<form method="post" action='<c:url value="/user/jieshao.do"/>'>
	用户名<input name="name"/><br/>
	年龄<input name="age" type="text"/><br/>
	<input type="submit" value="open"/>
	</form>
</body>
</html>

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!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>
	${jieshao }<br/>
	${user.name }&nbsp;${user.age }
</body>
</html>

       部署一下就可以用了。

 

 

 

 

       最后写一下对于SpringMVC的一点点理解吧:

1)因为使用了jpa,使得配置文件简化了很多

2)Controller不需要像以前写struts2的时候配置许多的配置文件用来引导,采用mapping的方式更加让人一目了然

3)页面表单的提交,采用@ModelAttribute的注解方式,可以使页面传值自动和实体类的属性对应

4)采用了父子容器的方式搭建出来的环境,需要注意区分哪些组件在那里扫描,否则会产生冲突

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

相关推荐

    基于注解Spring MVC环境搭建

    在“基于注解的Spring MVC环境搭建”中,我们将深入探讨如何利用注解来简化配置,快速建立一个运行中的Web项目。这篇博文(尽管描述为空,但提供了链接)很可能是关于创建一个基本的Spring MVC项目并使用注解来管理...

    spring MVC框架搭建

    Spring MVC 框架搭建与 Hibernate 整合实例 Spring MVC 框架搭建是 Java Web 开发中的一种常见架构模式,它基于 Model-View-Controller(MVC)模式,使用注解方式来处理请求和响应。下面将详细介绍 Spring MVC 框架...

    Spring MVC开发环境搭建

    在本文中,我们将深入探讨如何搭建一个Spring MVC的开发环境。 首先,我们需要准备以下基础组件: 1. **JDK**:确保你的计算机上安装了最新版本的Java Development Kit(JDK),因为Spring MVC是基于Java的。你...

    IDEA 搭建Spring MVC环境示例二

    在本示例中,我们将详细探讨如何使用IntelliJ IDEA(IDEA)和Maven来搭建Spring MVC项目环境。Spring MVC是Spring框架的一个模块,它为构建Web应用程序提供了模型-视图-控制器(MVC)架构。Maven则是一个强大的项目...

    精通Spring MVC 4

    本书共计10章,分别介绍了快速搭建Spring Web应用、精通MVC结构、URL映射、文件上传与错误处理、创建Restful应用、保护应用、单元测试与验收测试、优化请求、将Web应用部署到云等内容,循序渐进地讲解了Spring MVC4...

    spring MVC环境搭建 所需jar包.zip

    spring MVC环境搭建 所需jar包 ├── commons-logging-1.1.1.jar ├── jstl.jar ├── spring-aop-4.3.0.RELEASE.jar ├── spring-aspects-4.3.0.RELEASE.jar ├── spring-beans-4.3.0.RELEASE.jar ├...

    spring mvc 开发环境搭建

    本文档主要是springmvc+spring+hibernate框架的搭建,文中带有一个实例dome,以供参考

    spring_mvc(一)环境搭建

    在本教程中,我们将深入探讨如何搭建Spring MVC的开发环境,这是Java Web应用程序的一个核心框架。Spring MVC提供了模型-视图-控制器(MVC)架构,使得开发人员能够轻松地构建可扩展且易于维护的Web应用。让我们一...

    spring mvc 环境搭建

    ### Spring MVC 环境搭建详解 #### 一、Spring MVC 概述 Spring MVC 是 Spring Framework 的一个重要模块,主要用于构建基于 Java 的 Web 应用程序。它提供了一个清晰的模型-视图-控制器(MVC)实现,帮助开发者...

    Spring MVC+ Spring+ Mybatis 框架搭建

    Spring MVC、Spring和Mybatis是Java开发中非常流行的三大开源框架,它们的组合,通常被称为“SSM”框架。SSM框架的使用可以极大地提高Web应用的开发效率,通过合理的解耦,使得各组件能够更好地协同工作。接下来,...

    Spring mvc 环境搭建(maven构建)

    **Spring MVC 环境搭建(Maven构建)** Spring MVC 是 Spring 框架的一个模块,主要用于构建Web应用程序。它提供了模型-视图-控制器(MVC)架构,简化了开发流程并提高了代码的可测试性。Maven 是一个项目管理和综合...

    Intellij Idea Spring MVC环境搭建

    通过上述步骤,可以成功搭建起一个基于IntelliJ IDEA的Spring MVC开发环境,并实现简单的页面展示和逻辑处理。这对于初学者来说是一个很好的实践机会,同时也能够帮助开发者更好地理解Spring MVC的工作原理及其在...

    spring mvc 初始环境搭建,前后台数据的交互,文件上传

    ### Spring MVC 初始环境搭建与应用实践 #### 一、Spring MVC 环境搭建 在开始使用Spring MVC之前,我们需要搭建一个基本的工作环境。这包括了必要的开发工具准备、项目结构设定以及依赖库的引入。 **1. 开发工具...

    Spring MVC + Mybatis+Spring实现的个人博客系统

    搭建Spring MVC和Mybatis的环境,配置相关XML或Java配置文件;编写控制器处理HTTP请求,调用服务层进行业务逻辑处理;实现DAO接口,与数据库交互;最后,前端页面展示数据,可能使用JSP、Thymeleaf或其他模板引擎。 ...

    Maven+Spring+Spring MVC+MyBatis+MySQL,搭建SSM框架环境

    Maven+Spring+Spring MVC+MyBatis+MySQL,搭建SSM框架环境

    ava-Spring mvc 简单搭建

    本项目"Java-Spring MVC简单搭建"旨在帮助初学者快速理解并实践Spring MVC的基本应用。 首先,Spring MVC的核心概念包括DispatcherServlet、Controller、Model、View和ViewModel。DispatcherServlet作为前端控制器...

    Spring mvc环境搭建所需jar包

    对于初学者来说,搭建Spring MVC环境可能会面临寻找并集成多个必需的库和依赖的问题。下面,我们将详细讨论如何搭建Spring MVC环境,并解释其中涉及的关键知识点。 1. **Spring MVC核心组件**:Spring MVC的核心...

    IDEA 搭建Spring MVC环境示例1

    在本文中,我们将详细探讨如何使用IntelliJ IDEA(简称IDEA)搭建Spring MVC环境,以便开始进行Web应用程序开发。Spring MVC是Spring框架的一部分,它为构建基于模型-视图-控制器(MVC)架构的Web应用提供了强大的...

    Spring-MVC环境搭建用到的jar包

    Spring MVC是Spring框架的一个模块,专门用于构建Web应用程序。...以上就是Spring MVC环境搭建过程中涉及的核心知识点,搭建好环境后,开发者就可以利用Spring MVC的强大功能开发高效、灵活的Web应用程序了。

    spring mvc + spring + mybatis环境搭建

    通过以上步骤,你就成功搭建了一个基于Spring MVC、Spring和MyBatis的开发环境。这个环境为高效开发企业级Java Web应用提供了坚实的基础。在实际开发中,你还可以根据项目需求引入其他库,如Spring Security进行安全...

Global site tag (gtag.js) - Google Analytics