Java学习笔记之:Spring MVC 环境搭建

发布时间:2016-12-19 12:00:59编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"Java学习笔记之:Spring MVC 环境搭建 ",主要涉及到Java学习笔记之:Spring MVC 环境搭建 方面的内容,对于Java学习笔记之:Spring MVC 环境搭建 感兴趣的同学可以参考一下。

一、创建项目

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. [email protected], 是用于匹配请求的路径,比如这里匹配的请求路径就是“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的长度。


上一篇:HBase编程 API入门系列之get(客户端而言)(2)
下一篇:Node.js-

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款