基于java代码的Spring-mvc框架配置
Spring 版本 4.3.2 maven项目
1.首先上项目目录图,主要用到的配置文件,略去css和js的文件

引包:

2.主要代码:
(1)NetpageWebAppInitializer类
package config; import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer; /**
*@author 作者 Yu chenchen
*@version 创建时间:2016年12月1日 下午4:46:20
*类说明:该类会自动的配置DispatcherServlet和spring应用上下文,spring的应用上下文会位于应用程序的Servlet上下文之中
*/
public class NetpageWebAppInitializer extends
AbstractAnnotationConfigDispatcherServletInitializer { //将DispatcherServlet映射到"/",处理所有的请求
@Override
protected String[] getServletMappings() {
// TODO Auto-generated method stub
return new String[]{"/"};
}
//返回的带有@Configuration注解的类将会用来配置ContextLoaderListener创建的应用上下文中的bean
@Override
protected Class<?>[] getRootConfigClasses() {
// TODO Auto-generated method stub
return new Class<?>[]{RootConfig.class};
}
//返回带有@Configuration注解的类将会用来定义DispatcherServlet应用上下文中的bean
@Override
protected Class<?>[] getServletConfigClasses() {
// TODO Auto-generated method stub
return new Class<?>[]{WebConfig.class};
}
}
(2)WebConfig类
package config; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.view.InternalResourceViewResolver; /**
*@author 作者 Yu chenchen
*@version 创建时间:2016年12月1日 下午5:13:20
*类说明:
*/
@Configuration
@EnableWebMvc //启用Spring MVC
@ComponentScan(basePackages={"web"})//自动扫描包web下的所有控制器
public class WebConfig extends WebMvcConfigurerAdapter { //配置jsp视图解析器
@Bean
public ViewResolver viewResolver(){
InternalResourceViewResolver resolver=new InternalResourceViewResolver();
resolver.setPrefix("/jsp/");//设置视图路径
resolver.setSuffix(".jsp");
resolver.setExposeContextBeansAsAttributes(true);
return resolver;
}
//配置静态资源的处理
@Override
public void configureDefaultServletHandling(
DefaultServletHandlerConfigurer configurer) {
// TODO Auto-generated method stub
configurer.enable();
super.configureDefaultServletHandling(configurer);
}
}
(3)RootConfig类
package config; import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.ComponentScan.Filter;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.FilterType;
import org.springframework.web.servlet.config.annotation.EnableWebMvc; /**
*@author 作者 Yu chenchen
*@version 创建时间:2016年12月1日 下午4:55:11
*类说明:
*/
@Configuration
@ComponentScan(basePackages={"config"},
excludeFilters={@Filter(type=FilterType.ANNOTATION,value=EnableWebMvc.class)}
) //配置非web的组件,通常是后端的中间层和数据层组件
public class RootConfig { }
(4)HomeController类
package web; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import static org.springframework.web.bind.annotation.RequestMethod.*;; /**
*@author 作者 Yu chenchen
*@version 创建时间:2016年12月1日 下午5:39:53
*类说明:
*/
@Controller
public class HomeController { //配置对"/"的请求
@RequestMapping(value="/",method=GET)
public String goHome(){
return "home";//返回视图名
}
}
(5)home.jsp
<%@ 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 charset="UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" type="text/css" href="css/test1.css">
</head> <!--toolbar-->
<body>
<div id="toolbar" class="ss">
<div class="s0">
<div class="login" >
<div class="logo"><img src="img/toolbar_logo.png"></img> </div>
<input class="s1" placeholder="输入账号">
<input class="s2" >
<input type="button" class="button1" value="登陆">
<a href="#" class="s3">注册</a>
</div>
<div class="email"> <a href="#" >邮件</a></div>
<div class="email"> <a href="#" >说两句</a></div>
<div class="s4"> <a href="#"><img src="img/sohunewsapp2.jpg"></a></div>
</div>
</div>
<!-- 主要页面 -->
<div class="main">
<!-- 第一行部分 导航-->
<div class="nav"></div> <!-- 第二部分 搜索栏-->
<div class="search"></div> <!-- 第三部分 新闻内容-->
<div class="content"></div>
</div>
</body>
<script type="text/javascript" src="js/test1.js"></script>
</html>
注意事项:将项目根路径映射到webapp下,不然会找不到资源。

3. 测试

基于java代码的Spring-mvc框架配置的更多相关文章
- 【Java】关于Spring MVC框架的总结
SpringMVC是一种基于Java,实现了Web MVC设计模式,请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将Web层进行职责解耦.基于请求驱动指的就是使用请求-响应模型,框架的 ...
- 基于纯Java代码的Spring容器和Web容器零配置的思考和实现(3) - 使用配置
经过<基于纯Java代码的Spring容器和Web容器零配置的思考和实现(1) - 数据源与事务管理>和<基于纯Java代码的Spring容器和Web容器零配置的思考和实现(2) - ...
- 【Java Web开发学习】Spring MVC 开始配置
Spring MVC 开始配置 转载:http://www.cnblogs.com/yangchongxing/p/8871370.htm 学习搭建最简单的Spring MVC框架. ======== ...
- 从零开始学 Java - 搭建 Spring MVC 框架
没有什么比一个时代的没落更令人伤感的了 整个社会和人都在追求创新.进步.成长,没有人愿意停步不前,一个个老事物慢慢从我们生活中消失掉真的令人那么伤感么?或者说被取代?我想有些是的,但有些东西其实并不是 ...
- [译]17-spring基于java代码的配置元数据
spring还支持基于java代码的配置元数据.不过这种方式不太常用,但是还有一些人使用.所以还是很有必要介绍一下. spring基于java代码的配置元数据,可以通过@Configuration注解 ...
- Spring MVC 框架的架包分析,功能作用,优点
由于刚搭建完一个MVC框架,决定分享一下我搭建过程中学习到的一些东西.我觉得不管你是个初级程序员还是高级程序员抑或是软件架构师,在学习和了解一个框架的时候,首先都应该知道的是这个框架的原理和与其有关j ...
- spring mvc+myBatis配置详解
一.spring mvc Spring框架(框架即:编程注解+xml配置的方式)MVC是Spring框架的一大特征,Spring框架有三大特征(IOC(依赖注入),AOP(面向切面),MVC(建模M- ...
- 使用 Spring 2.5 基于注解驱动的 Spring MVC
http://www.ibm.com/developerworks/cn/java/j-lo-spring25-mvc/ 概述 继 Spring 2.0 对 Spring MVC 进行重大升级后,Sp ...
- spring MVC框架入门(外加SSM整合)
spring MVC框架 一.什么是sping MVC Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面.Spring 框架提供了构建 W ...
- Spring MVC 框架学习
一.spirng的简介 Spring是一个开源框架,它由Rod Johnson创建.它是为了解决企业应用开发的复杂性而创建的.Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情. ...
随机推荐
- android studio 注释模板
File->Settings->Editor->File and Code Templates-> Templates->class Includes->File ...
- Java(String)
1>String类型判等 (1)请运行以下示例代码StringPool.java,查看其输出结果.如何解释这样的输出结果?从中你能总结出什么? package StringPool; publi ...
- Miller_Rabin素数测试
#include<iostream> #include<cmath> #include<cstdio> #include<cstring> #inclu ...
- javascript函数声明方式
javascript中函数的声明有三种方式: 最常见的函数声明: fun();//可以调用,因为这种声明方式会被浏览器优先加载. function fun() { alert("声明式的函数 ...
- Mac删除.DS_Store文件
1.删除.DS_Store文件 sudo find ./ -name ".DS_Store" -depth -exec rm {} \; 2.禁止生成此文件 defaults wr ...
- 简单一键CENTOS6 安装PPTP VPN方法记录
申明:我们使用PPTP VPN仅仅只能用在查阅资料等正规渠道,不要用在不良用途上.方法收集于网上,这里我用在搬瓦工VPS(VPS方案直达),采用的是CENTOS6 64位系统.我们需要预先将VPS服务 ...
- SSM框架——使用MyBatis Generator自动创建代码
版权声明:本文为博主原创文章,未经博主允许不得转载. 这两天需要用到MyBatis的代码自动生成的功能,由于MyBatis属于一种半自动的ORM框架,所以主要的工作就是配置Mapping映射文件,但是 ...
- xml的解析与创建——bing到youdao导入文件的转换
首先是为了解决一个问题:如何将必应单词本中记录的单词转入到有道词典中去.实际上,必应词典可以导出xml文件,但是该文件有道词典无法解析.这里涉及到xml的解析和创建了. 代码如下: import ja ...
- 在Xcode中使用Git进行源码版本控制
http://www.cocoachina.com/ios/20140524/8536.html 资讯 论坛 代码 工具 招聘 CVP 外快 博客new 登录| 注册 iOS开发 Swift Ap ...
- 20145316&20145229实验四:驱动程序设计
20145316&20145229实验四:驱动程序设计 结对伙伴:20145316 许心远 博客链接:http://www.cnblogs.com/xxy745214935/p/6130871 ...