一、创建项目

1.新建java动态项目

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

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

二、搭建SpringMVC

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

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"
  3. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  4. id="WebApp_ID" version="2.5">
  5. <display-name>springmvc-spring-ibatis</display-name>
  6.  
  7. <!-- springmvc的配置 -->
  8. <servlet>
  9. <servlet-name>springDispatcherServlet</servlet-name>
  10. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  11. <!-- 配置Spring mvc下的配置文件的位置和名称 -->
  12. <init-param>
  13. <param-name>contextConfigLocation</param-name>
  14. <param-value>classpath:springmvc/sping.xml</param-value>
  15. </init-param>
  16. <load-on-startup>1</load-on-startup>
  17. </servlet>
  18.  
  19. <servlet-mapping>
  20. <servlet-name>springDispatcherServlet</servlet-name>
  21. <url-pattern>/</url-pattern>
  22. </servlet-mapping>
  23.  
  24. <!-- 配置字符集乱码 -->
  25. <filter>
  26. <description>字符集过滤</description>
  27. <filter-name>encodingFilter</filter-name>
  28. <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  29. <init-param>
  30. <description>字符集编码</description>
  31. <param-name>encoding</param-name>
  32. <param-value>UTF-8</param-value>
  33. </init-param>
  34. </filter>
  35. <filter-mapping>
  36. <filter-name>encodingFilter</filter-name>
  37. <url-pattern>/*</url-pattern>
  38. </filter-mapping>
  39.  
  40. <!-- spring的配置 -->
  41. <listener>
  42. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  43. </listener>
  44. <context-param>
  45. <param-name>contextConfigLocation</param-name>
  46. <param-value>classpath:spring/spring_*.xml</param-value>
  47. </context-param>
  48. </web-app>

2.在springmvc包里创建“spring,xml”并配置springmvc的配置文件

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xmlns:mvc="http://www.springframework.org/schema/mvc"
  6. xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
  7. http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
  8. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
  9. <!-- 配置自动扫描的包 -->
  10. <context:component-scan base-package="com.mxp.controller"></context:component-scan>
  11.  
  12. <!-- 加载静态资源 -->
  13. <mvc:annotation-driven></mvc:annotation-driven>
  14. <mvc:default-servlet-handler />
  15.  
  16. <!-- 配置视图解析器 -->
  17. <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  18. <property name="prefix" value="/"></property>
  19. <property name="suffix" value=".jsp"></property>
  20. </bean>
  21.  
  22. </beans>

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

  1. package com.hgd.controller;
  2.  
  3. import org.springframework.stereotype.Controller;
  4. import org.springframework.web.bind.annotation.RequestMapping;
  5.  
  6. /**
  7. * 控制层:com.hgd.action || com.hgd.controller
  8. * 服务层:com.hgd.service (将接口和实现类分开com.hgd.service.imp)
  9. * 持久层:com.hgd.dao (com.hgd.dao.imp) || com.hgd.mapper
  10. * 视图层:jsp...
  11. *
  12. */
  13. @Controller("userController")
  14. @RequestMapping("/userController")
  15. public class UserController {
  16.  
  17. @RequestMapping("login")
  18. public String login() throws Exception {
  19. System.out.println("login");
  20. return "main";
  21. }
  22. }

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

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

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

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

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

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

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

返回结果:

三、传入obj类型参数

1.在model包中创建javabean

  1. package com.hgd.model;
  2.  
  3. public class User {
  4.  
  5. private String name;
  6. private int age;
  7.  
  8. public User() {
  9. // TODO Auto-generated constructor stub
  10. }
  11.  
  12. public User(String name, int age) {
  13. super();
  14. this.name = name;
  15. this.age = age;
  16. }
  17.  
  18. public String getName() {
  19. return name;
  20. }
  21.  
  22. public void setName(String name) {
  23. this.name = name;
  24. }
  25.  
  26. public int getAge() {
  27. return age;
  28. }
  29.  
  30. public void setAge(int age) {
  31. this.age = age;
  32. }
  33.  
  34. @Override
  35. public String toString() {
  36. return "User [name=" + name + ", age=" + age + "]";
  37. }
  38.  
  39. }

2.在usercontroller中写上方法

  1. @RequestMapping("obj")
  2. public String obj(User user,HttpServletRequest req)throws Exception{
  3. System.out.println("obj");
  4. System.out.println(user);
  5. req.setAttribute("msg", "request");
  6. return "main";
  7. }

3.测试方法

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

4.测试结果

四、传入ajax

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

  1. <script type="text/javascript">
  2.  
  3. function ajax(){
  4.  
  5. $.getJSON('userController/getString',{name:'admin'},function(data){
  6. alert(typeof data +"||"+data.msg);
  7. });
  8.  
  9. }

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

  1. package com.hgd.json;
  2.  
  3. public class Json {
  4.  
  5. private String msg;
  6.  
  7. public Json() {
  8. // TODO Auto-generated constructor stub
  9. }
  10.  
  11. public void setMsg(String msg) {
  12. this.msg = msg;
  13. }
  14.  
  15. public String getMsg() {
  16. return msg;
  17. }
  18.  
  19. }

3.usercontroller中写上方法

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

4.测试方法

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

5.测试结果

五、传入 map

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

  1. function map(){
  2. $.getJSON('userController/map',function(data){
  3. });
  4. }

2.usercontroller中写上方法

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

3.测试方法

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

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

六、传入list

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

  1. function list(){
  2. $.getJSON('userController/list',function(data){
  3. alert(data.length)
  4. });
  5. }

2.usercontroller中写上方法

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

3.测试方法

  1. <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. NCPC2016-E- Exponial

    题目描述 Illustration of exponial(3) (not to scale), Picture by C.M. de Talleyrand-Périgord via Wikimedi ...

  2. bzoj千题计划171:bzoj2456: mode

    http://www.lydsy.com/JudgeOnline/problem.php?id=2456 任意删除序列中两个不同的数,众数仍然是众数 不停的删,剩下的最后的数一定是众数 具体实现: 记 ...

  3. bzoj千题计划164:bzoj5123: 线段树的匹配

    http://www.lydsy.com/JudgeOnline/upload/201712/prob12.pdf dp[len][0/1] 表示节点表示区间长度为len,节点选/不选的 最大匹配 s ...

  4. bzoj千题计划151:bzoj1131: [POI2008]Sta

    http://www.lydsy.com/JudgeOnline/problem.php?id=1131 dp[i]=dp[fa[i]]-son[i]+n-son[i] #include<cst ...

  5. 二分算法的应用——最大化平均值 POJ 2976 Dropping tests

    最大化平均值 有n个物品的重量和价值分别wi 和 vi.从中选出 k 个物品使得 单位重量 的价值最大. 限制条件: <= k <= n <= ^ <= w_i <= v ...

  6. Django 2.0.1 官方文档翻译: 快速安装向导 (Page5)

    快速安装向导 (Page 5) 在你使用 Django 前,你需要先安装它.我们有一个完整的安装向导,它包含所有涉及的内容,这个向导会指导你进行一个简单的.最小化的安装,当你通过浏览介绍内容的时候,这 ...

  7. 兼容firefox,ie,谷歌,阻止浏览器冒泡事件,Firefox不支持event解决方法

    兼容firefox,ie,谷歌,阻止浏览器冒泡事件,Firefox不支持event解决方法 // 获取事件function getEvent(){ if(window.event) {return w ...

  8. Spring AOP注解为什么失效?90%Java程序员不知道

    使用Spring Aop注解的时候,如@Transactional, @Cacheable等注解一般需要在类方法第一个入口的地方加,不然不会生效. 如下面几种场景 1.Controller直接调用Se ...

  9. 为FreeBSD安装adobe flash插件

    参考 FreeBSD官方手册浏览器一章. pkg install nspluginwrapper nspluginwrapper 是一个辅助安装配置 NetScape Plugin的工具. 可以为Ne ...

  10. Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A

    问题: 当我们打开数据库,即use dbname时,要预读数据库信息,当使用-A参数时,就不预读数据库信息. 解决方法:mysql -hhostname -uusername -ppassword - ...