一、创建项目

1.新建java动态项目

2.在web-inf/lib文件夹下导入jar

3.创建所需要的包和文件

二、搭建SpringMVC

1.配置web.xml(WEB-INF下)

<?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>springmvc-spring-ibatis</display-name> <!-- springmvc的配置 -->
<servlet>
<servlet-name>springDispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 配置Spring mvc下的配置文件的位置和名称 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc/sping.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet> <servlet-mapping>
<servlet-name>springDispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping> <!-- 配置字符集乱码 -->
<filter>
<description>字符集过滤</description>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<description>字符集编码</description>
<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> <!-- spring的配置 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/spring_*.xml</param-value>
</context-param>
</web-app>

2.在springmvc包里创建“spring,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:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
<!-- 配置自动扫描的包 -->
<context:component-scan base-package="com.mxp.controller"></context:component-scan> <!-- 加载静态资源 -->
<mvc:annotation-driven></mvc:annotation-driven>
<mvc:default-servlet-handler /> <!-- 配置视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/"></property>
<property name="suffix" value=".jsp"></property>
</bean> </beans>

3.在controller包里创建"UserController.ava"

package com.hgd.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping; /**
* 控制层:com.hgd.action || com.hgd.controller
* 服务层:com.hgd.service (将接口和实现类分开com.hgd.service.imp)
* 持久层:com.hgd.dao (com.hgd.dao.imp) || com.hgd.mapper
* 视图层:jsp...
*
*/
@Controller("userController")
@RequestMapping("/userController")
public class UserController { @RequestMapping("login")
public String login() throws Exception {
System.out.println("login");
return "main";
}
}

注意:1. 首先要在类的前面添加“Controller”注解,表示是spring的控制器,这里会写一个方法hello()

   2. hello方法上方有一个@RequestMapping, 是用于匹配请求的路径,比如这里匹配的请求路径就是“http://localhost:8080/SpingMVC/userController/login”。

4.页面调试,在index.jsp加入超链接

<a href="userController/login">login</a>

5.当我们点击超链接,控制台会输出“login”并且调到main.jsp

6.如果我们需要传入参数可以在方法中加入参数,并在超链接中写出

    @RequestMapping("login")
public String login(String user,int age)throws Exception{
System.out.println("login");
System.out.println(user+"\t"+age);
return "main";
}
<a href="userController/login?user=admin&age=20">login</a>

返回结果:

三、传入obj类型参数

1.在model包中创建javabean

package com.hgd.model;

public class User {

    private String name;
private int age; public User() {
// TODO Auto-generated constructor stub
} public User(String name, int age) {
super();
this.name = name;
this.age = age;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} @Override
public String toString() {
return "User [name=" + name + ", age=" + age + "]";
} }

2.在usercontroller中写上方法

   @RequestMapping("obj")
public String obj(User user,HttpServletRequest req)throws Exception{
System.out.println("obj");
System.out.println(user);
req.setAttribute("msg", "request");
return "main";
}

3.测试方法

<a href="userController/obj?name=admin&age=35">obj</a>

4.测试结果

四、传入ajax

1.WebContent下创建jquery文件夹,导入“jQuery文件”,在index.jsp加入js

<script type="text/javascript">

function ajax(){

    $.getJSON('userController/getString',{name:'admin'},function(data){
alert(typeof data +"||"+data.msg);
}); }

2.在json包中创建json.java用来发送数据

package com.hgd.json;

public class Json {

    private String msg;

    public Json() {
// TODO Auto-generated constructor stub
} public void setMsg(String msg) {
this.msg = msg;
} public String getMsg() {
return msg;
} }

3.usercontroller中写上方法

    @RequestMapping("getString")
@ResponseBody//@responsebody表示该方法的返回结果直接写入HTTP
public Json getString(String name)throws Exception{
System.out.println(name);
Json j = new Json();
j.setMsg("数据");
return j;
}

4.测试方法

<a href="javascript:ajax()">ajax</a>

5.测试结果

五、传入 map

1.在js代码块中添加一个函数

function map(){
$.getJSON('userController/map',function(data){
});
}

2.usercontroller中写上方法

    @RequestMapping("map")
@ResponseBody
public Map<String, Object> map()throws Exception{
Map<String, Object> map = new HashMap<String, Object>();
map.put("A", new User("admin-1",25));
map.put("B", new User("admin-2",20));
map.put("C", new User("admin-3",25));
return map;
}

3.测试方法

<a href="javascript:map()">map</a>

4.测试结果,F12打开控制台,可以看到响应

六、传入list

1.在js代码块中添加一个函数

function list(){
$.getJSON('userController/list',function(data){
alert(data.length)
});
}

2.usercontroller中写上方法

    @RequestMapping("list")
@ResponseBody
public Collection list()throws Exception{
List<User> list = new ArrayList<User>();
for (int i = 0; i < 5; i++) {
list.add(new User("admin"+i, i));
}
return list;
}

3.测试方法

<a href="javascript:list()">list</a>

4.测试结果,打出list的长度。

Java学习笔记之:Spring MVC 环境搭建的更多相关文章

  1. Java学习笔记【一、环境搭建】

    今天把java的学习重新拾起来,一方面是因为公司的项目需要用到大数据方面的东西,需要用java做语言 另一方面是原先使用的C#公司也在慢慢替换为java,为了以后路宽一些吧,技多不压身 此次的学习目标 ...

  2. Solr学习笔记之1、环境搭建

    Solr学习笔记之1.环境搭建 一.下载相关安装包 1.JDK 2.Tomcat 3.Solr 此文所用软件包版本如下: 操作系统:Win7 64位 JDK:jdk-7u25-windows-i586 ...

  3. Spring MVC 环境搭建(一)

    一.建立 JavaWeb 项目 1.建立一个 Java 项目. 2.在项目下新建一个文件夹 webapp (命名可自取,这个目录即是网站根目录),再在该文件夹下新建一个 WEB-INF 文件夹(命名固 ...

  4. Spring MVC 环境搭建(maven+SpringMVC+mybatis+Freemarker)

    Spring MVC 环境搭建(maven+SpringMVC+mybatis+Freemarker) 一.准备工作 1.Eclipse Java EE IDE(4.4.1) 2.JDK 3.Tomc ...

  5. Spring MVC 环境搭建(二)

    在Spring MVC 环境搭建(一)中我们知道 spring 的配置是通过 urlmapping 映射到控制器,然后通过实现Controller接口的handlerequest方法转向页面. 但这存 ...

  6. ESP32学习笔记(一) 环境搭建与下载

    ESP32学习笔记(一) 环境搭建与下载 作者:Nevel 博客:nevel.cnblogs.com 转载请保留出处 前几天刚入手了ESP32模块,趁着放假有时间,我们先把ESP32的编译环境搭建好 ...

  7. Hadoop学习笔记—22.Hadoop2.x环境搭建与配置

    自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我的一个博文系列<Hadoop学习笔 ...

  8. Cocos2d-x 3.2 学习笔记(一)环境搭建

    目前项目无事,时间比较充裕,因此来学习下cocos2dx,当然本人也是新手一个, 写此笔记做备忘和脚步. 最近3.2版本更新出來了!官方说这是自2.x分支以来修复了超过450个bug,3.2版本是目前 ...

  9. 【Lua学习笔记之:Lua环境搭建 Windows 不用 visual studio】

    Lua 环境搭建 Windows 不用 visual studio 系统环境:Win7 64bit 联系方式:yexiaopeng1992@126.com 前言: 最近需要学习Unity3d游戏中的热 ...

随机推荐

  1. 基本UDP套接字编程

    概述 使用TCP编写的应用程序和使用UDP编写的应用程序之间存在一些本质差异,其原因在于这两个传输层之间的差别:UDP是无连接不可靠的数据报协议,非常不同于TCP提供的面向连接的可靠字节流.然而相比T ...

  2. bzoj千题计划136:bzoj3931: [CQOI2015]网络吞吐量

    http://www.lydsy.com/JudgeOnline/problem.php?id=3931 在最短路网络上跑最大流 #include<queue> #include<c ...

  3. jQuery合并单元格以及还原重置

    一.合并rowspan jQuery.fn.rowspan = function(colIdx) { return this.each(function(){ var that; $('tr', th ...

  4. 6个动作4种难度选择!家庭减肥就用hiit

    今天推荐一组课程计划,6个动作,后面会教你如何调整课程难度,以便让课程更适合自己的身体情况. 一.深蹲:8-10次 二.俯卧撑:5-8次(女生如果完成不了标准俯卧撑,可以选择跪姿俯卧撑) 三.平板支撑 ...

  5. 2016-2017-20155329 《Java程序设计》第7周学习总结

    学号 2016-2017-20155329 <Java程序设计>第7周学习总结 教材学习内容总结 时间的度量 格林威治标准时间(GMT时间) 世界时(UT) 国际原子时(TAI) 世界协调 ...

  6. Django认证系统实现的web页面

    结合数据库.ajax.js.Djangoform表单和认证系统的web页面 一:数据模块 扩展了Django中的user表,增加了自定义的字段 from django.db import models ...

  7. HTML5之2D物理引擎 Box2D for javascript Games 系列 翻外篇--如何结合createJS应用box2d.js

    太久没有更新了,新年回来工作,突然有收到网友的邮件提问,居然还有人在关注,惭愧,找了下电脑上还有一点儿存着,顺便先发这一个番外篇吧,好歹可以看到真实的效果,等我考完英语,一定会更新下一章," ...

  8. 最长上升子序列O(nlogn) 要强的T^T(2358)

    题目来源:http://www.fjutacm.com/Problem.jsp?pid=2358 要强的T^T TimeLimit:1000MS  MemoryLimit:65536K 64-bit ...

  9. 再战CS231-快速排序

    1.用python实现快速排序 print quicksort([3,6,8,10,1,2,1]) # Prints "[1, 1, 2, 3, 6, 8, 10]" ''' @a ...

  10. mysql 在windons下的备份命令

    1. @echo off set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%" mysqldump -uroot -proot jy510 > ...