搭建最简单的SpringMVC框架(使用maven)
-
本文说明:本文介绍使用maven搭建SpringMVC最简单的框架程序过程,适合初学者上手。
下载链接 点此进入下载链接
1.创建一个maven webapp工程。
2.修改WEB-INF目录下的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"
- version="3.0">
- <display-name>Archetype Created Web Application</display-name>
- <!-- spring MVC的核心就是DispatcherServlet,使用springMVC的第一步就是将下面的servlet放入web.xml
- servlet-name属性非常重要,默认情况下,DispatchServlet会加载这个名字-servlet.xml的文件,如下,就会加载
- dispather-servlet.xml,也是在WEN-INF目录下。
- -->
- <servlet>
- <servlet-name>dispatcher</servlet-name>
- <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
- <load-on-startup>1</load-on-startup>
- </servlet>
- <!-- 设置dispatchservlet的匹配模式,通过把dispatchservlet映射到/,默认servlet会处理所有的请求,包括静态资源 -->
- <servlet-mapping>
- <servlet-name>dispatcher</servlet-name>
- <url-pattern>/</url-pattern>
- </servlet-mapping>
- <!-- 字符集过滤器 -->
- <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>
- <init-param>
- <param-name>forceEncoding</param-name>
- <param-value>true</param-value>
- </init-param>
- </filter>
- <filter-mapping>
- <filter-name>encodingFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- </web-app>
说明:其中字符集过滤器部分不是必须的,但是如果要处理中文的话,最好还是加上。
3.在WEN-INF目录下创建dispatcher-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:context="http://www.springframework.org/schema/context"
- xmlns:mvc="http://www.springframework.org/schema/mvc"
- xmlns:p="http://www.springframework.org/schema/p"
- 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.xsd
- http://www.springframework.org/schema/context
- http://www.springframework.org/schema/context/spring-context.xsd"
- default-lazy-init="true">
- <!-- 通过mvc:resources设置静态资源,这样servlet就会处理这些静态资源,而不通过控制器 -->
- <!-- 设置不过滤内容,比如:css,jquery,img 等资源文件 -->
- <mvc:resources location="/*.html" mapping="/**.html" />
- <mvc:resources location="/css/*" mapping="/css/**" />
- <mvc:resources location="/js/*" mapping="/js/**" />
- <mvc:resources location="/images/*" mapping="/images/**" />
- <!-- 添加注解驱动 -->
- <mvc:annotation-driven />
- <!-- 默认扫描的包路径 -->
- <context:component-scan base-package="com.my.web" />
- <!-- mvc:view-controller可以在不需要Controller处理request的情况,转向到设置的View -->
- <!-- 像下面这样设置,如果请求为/,则不通过controller,而直接解析为/index.jsp -->
- <mvc:view-controller path="/" view-name="index" />
- <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
- <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
- <!-- 配置jsp路径前缀 -->
- <property name="prefix" value="/"></property>
- <!-- 配置URl后缀 -->
- <property name="suffix" value=".jsp"></property>
- </bean>
- </beans>
说明: 其中<!-- 默认扫描的包路径 -->
<context:component-scan base-package="com.my.web" />中的路径,com.my.web,是需要在src/main/java中创建的包,用来放Java代码。4.使用maven引入SpringMVC所依赖的jar包。
修改pom.xml文件
4.1添加属性,在<project>标签中
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <spring.version>3.1.2.RELEASE</spring.version>
- </properties>
4.2添加依赖,在<dependencies>标签中
- <!-- spring begin -->
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-webmvc</artifactId>
- <version>${spring.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-jdbc</artifactId>
- <version>${spring.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-context</artifactId>
- <version>${spring.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-aop</artifactId>
- <version>${spring.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-core</artifactId>
- <version>${spring.version}</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-test</artifactId>
- <version>${spring.version}</version>
- </dependency>
- <!-- spring end -->
添加完成之后,通过更新工程,就会自动引入所依赖的jar包。
做完上面的准备工作之后就可以写代码了。
5.写前台页面:
在maven工程中生成的有一个index.jsp,将其修改成一下内容,很简单,只是一个登陆框,提交一个form表单,中的用户名和密码。
- <%@ 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>欢迎</title>
- </head>
- <body>
- <h2>Hello World!</h2>
- <form action="login">
- 用户名:<input id="username" name="username" type="text"></input><br>
- 密 码:<input id="username" name="password" type="password"></input><br>
- <input type="submit">
- </form>
- <span>当前IP:<%=request.getRemoteAddr() %></span>
- </body>
- </html>
6.写controller层代码,用来响应前台请求。
- package com.my.web.controller;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestParam;
- import org.springframework.web.bind.annotation.ResponseBody;
- /**
- * TODO 控制层代码
- * @author 591791
- * @date 2014年11月27日
- */
- @Controller
- public class MyController {
- @RequestMapping("login") //用来处理前台的login请求
- private @ResponseBody String hello(
- @RequestParam(value = "username", required = false)String username,
- @RequestParam(value = "password", required = false)String password
- ){
- return "Hello "+username+",Your password is: "+password;
- }
- }
7,部署到tomcat上之后,运行效果如下:
====Q&A====
评论区有朋友说到实践的时候会报错:
“Exception starting filter encodingFilter
java.lang.ClassNotFoundException: ”这是由于编译环境配置的问题,这个encoder的jar包是通过maven的形式加进来的,可能maven依赖库没有告诉到tomcat,所以tomcat启动的时候就找不到这个类。
解决办法是在project的properties中“Deployment Assembly”中加上maven lib,就可以了。
如下图:
版权声明:本文为宝宝原创文章,未经宝宝允许不得转载。
搭建最简单的SpringMVC框架(使用maven)的更多相关文章
- 利用Maven, 搭建最简单的SpringMVC框架
本文介绍使用maven搭建SpringMVC最简单的框架程序过程,适合初学者上手. 文章下载
- 搭建一个简单的springMVC框架
//新建一个简单的maven项目,选择war包 //web.xml配置 <?xml version="1.0" encoding="UTF-8"?> ...
- 用Maven搭建简单的SpringMVC框架
本文会详细阐述如何用Maven搭建一个简单的SpringMVC框架 这里就不介绍SpringMVC框架了,咱们直接来搭建 第一步 创建一个Maven的web项目 这里有一个简单的方法 new一个Ma ...
- 简单实现springmvc框架(servlet+自定义注解)
个人水平比较菜,没有这么高的实力简单实现springmvc框架,我是看了一个老哥的博客,这老哥才是大神! 原文链接:https://www.cnblogs.com/xdp-gacl/p/4101727 ...
- 搭建一个简单的mybatis框架
一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以 ...
- 项目搭建系列之三:SpringMVC框架下使用Ehcache对象、数据缓存
注明:该文章为以前写的文章,这里只更改了标题,无GitHub源码下载. 一.准备工作 如果已经成功搭建SpringMVC环境,那么就可以进入Ehcache的准备工作了.1.下载jar包 Ehca ...
- 搭建一个简单的Struts2框架
1 创建一个web项目. 2 导入必要的JAR文件. 放在WEB-INF下lib包里. 3 添加web.xml配置,添加启动配置. <?xml version="1.0" ...
- 项目搭建系列之四:SpringMVC框架下使用UrlRewrite实现地址重写
简单记录一下UrlRewrite实现地址重写功能. 1.pom.xml 在pom.xml增加配置UrlRewrite jar <!-- URL Rewrite --> <depend ...
- Flutter学习三之搭建一个简单的项目框架
上一篇文章介绍了Dart的语法的基本使用,从这篇文章开始,开发一个基于玩Android网站的app.使用的他们开放的api来获取网站数据. 根据网站的结构,我们app最外层框架需要添加一个底部导航栏, ...
随机推荐
- php中常用的运算符
运算符 运算符是告诉PHP做相关运算的标识符号. PHP运算符一般分为算术运算符.赋值运算符.比较运算符.三元运算符.逻辑运算符.字符串连接运算符.错误控制运算符. 1.变量名记得加“$” 符: 2. ...
- asp中cookie欺骗/注入原理与防范
一直以来sql注入被广泛关注,也有专门的防注系统代码.发现,如果代码不严谨也会有cookie欺骗/注入的情况.原来, 防注入系统没有注意到 Cookies 的问题!这里以ASP为例,分析一下cook ...
- mysql 创建存储过程注意
最近在利用navicat创建存储过程时,总是报1064语法错误,而且每次都是指向第一行,百思不得姐,如下图: 后来发现,原来是输入参数没有定义长度导致,所以以后真要注意 加上入参长度即可:IN `sT ...
- CRM客户关系管理系统修改(十四)
修改的流程:
- HDU 4888 (网络流)
Poroblem Redraw Beautiful Drawings (HDU4888) 题目大意 一个n行m列的矩形,只能填0~k的数字. 给定各行各列的数字和,判定有无合法的方案数.一解给出方案, ...
- 负margin居中
<!DOCTYPE html><html> <head> <title> new document </title> <meta na ...
- 使用WebMatrix发布网站到Windows Azure
1. 在本地机安装 WebMatrix, 安装Windows Azure SDK 2. 登录Windows Azure, 网站 > 创建一个新网站或选择已有网站 3. 在发布应用程序,选择下载发 ...
- MySQL 仅保留7天、一个月数据
/************************************************************************** * MySQL 仅保留7天.一个月数据 * 说明 ...
- 《JS高程》实现继承的6种方式(完整版)
许多OO语言都支持 两种继承方式: (1)接口继承:只继承方法签名: (2)实现继承:继承实际的方法. ECMAScript 由于函数没有签名,无法实现接口继承,因此只支持实现继承,而且主要是依靠原型 ...
- TC Hash Filter
Overview The u32 filter allows you to match on any bit field within a packet, so it is in some ways ...