1. 程式人生 > >spring mvc 和ajax非同步互動完整例項

spring mvc 和ajax非同步互動完整例項

Spring MVC 非同步互動demo:

1.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>
<script type="text/javascript" src="js/jquery-2.1.3.js"></script>
<script type="text/javascript" src="js/jquery-2.1.3.min.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf8">
<title>Insert title here</title>
<script type="text/javascript">
	function ajaxTest(){
		$.ajax({
		data:"name="+$("#name").val(),
		type:"GET",
		dataType: 'json',
		url:"user/login.do",
		error:function(data){
			alert("出錯了!!:"+data.msg);
		},
		success:function(data){
			alert("success:"+data.msg);
			$("#result").html(data.msg) ;
		}
		});
	}
</script>
</head>
<body>
	<input type="text" name="name" id="name"/>
	<input type="submit" value="登入" onclick="ajaxTest();"/>
	<div id="result"></div>
</body>
</html>
2.controller:
package xm.zjl.controller;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * 登入controller
 * 
 * @author Administrator
 *
 */
@Controller
@RequestMapping("/user/*")
public class LoginController {
	@RequestMapping(value="login.do")
	public @ResponseBody Map<String,Object> login(HttpServletRequest request,HttpServletResponse response) throws IOException{
		System.out.println(request.getParameter("name"));
		Map<String,Object> map = new HashMap<String,Object>();
		
		if(request.getParameter("name").equals("123")){
			System.out.println("城東");
			map.put("msg", "成功");
		}else{
			System.out.println("失敗");
			map.put("msg", "失敗");
		}
		return map;
	}
	
}
3.pom檔案:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>xiaoma</groupId>
	<artifactId>zjl</artifactId>
	<packaging>war</packaging>
	<version>0.0.1-SNAPSHOT</version>
	<name>zjl Maven Webapp</name>
	<url>http://maven.apache.org</url>
	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>4.1.0.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</artifactId>
			<version>4.1.0.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>2.5.0</version>
		</dependency>
		<dependency>
			<groupId>commons-beanutils</groupId>
			<artifactId>commons-beanutils</artifactId>
			<version>1.9.2</version>
		</dependency>
		<dependency>
			<groupId>org.codehaus.jackson</groupId>
			<artifactId>jackson-mapper-asl</artifactId>
			<version>1.9.13</version>
		</dependency>

		<dependency>
			<groupId>org.codehaus.jackson</groupId>
			<artifactId>jackson-core-asl</artifactId>
			<version>1.9.13</version>
		</dependency>
	</dependencies>
	<build>
		<finalName>zjl</finalName>
		<plugins>
			<plugin>
				<groupId>org.mortbay.jetty</groupId>
				<artifactId>jetty-maven-plugin</artifactId>
				<configuration>
					<stopPort>9966</stopPort>
					<stopKey>foo</stopKey>
					<scanIntervalSeconds>0</scanIntervalSeconds>
					<connectors>
						<connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
							<port>8088</port>
							<maxIdleTime>60000</maxIdleTime>
						</connector>
					</connectors>
					<webAppConfig>
						<contextPath>/</contextPath>
					</webAppConfig>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.tomcat.maven</groupId>
				<artifactId>tomcat7-maven-plugin</artifactId>
				<version>2.2</version>
				<configuration>
					<port>8088</port>
					<path>/</path>
					<uriEncoding>UTF-8</uriEncoding>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>
這裡注意如果相關json包沒有新增到pom.xml檔案中會報:406 not acceptable 
4.spring-servlet.xml檔案:
<beans xmlns="http://www.springframework.org/schema/beans"  
 xmlns:context="http://www.springframework.org/schema/context"  
 xmlns:p="http://www.springframework.org/schema/p"  
 xmlns:mvc="http://www.springframework.org/schema/mvc"  
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
 xsi:schemaLocation="http://www.springframework.org/schema/beans  
      http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
      http://www.springframework.org/schema/context  
      http://www.springframework.org/schema/context/spring-context.xsd  
      http://www.springframework.org/schema/mvc  
      http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">  
     <!-- 啟動註解驅動的Spring MVC功能,註冊請求url和註解POJO類方法的對映-->  
     <mvc:annotation-driven />  
     <!-- 啟動包掃描功能,以便註冊帶有@Controller、@Service、@repository、@Component等註解的類成為spring的bean -->  
     <context:component-scan base-package="xm.zjl.controller" />  
     <!-- 對模型檢視名稱的解析,在請求時模型檢視名稱新增前後綴 -->  
     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/" p:suffix=".jsp" />  
</beans>  
5.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"  
    id="WebApp_ID"   
    version="3.0">  
    <context-param>  
        <param-name>contextConfigLocation</param-name>  
        <!-- 應用上下文配置檔案 -->  
        <param-value>/WEB-INF/spring-servlet.xml</param-value>  
    </context-param>  
    <listener>  
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
    </listener>  
    <!-- 配置spring核心servlet -->  
    <servlet>  
        <servlet-name>spring</servlet-name>  
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
        <load-on-startup>1</load-on-startup>  
    </servlet>  
    <!-- url-pattern配置為/,不帶檔案字尾,會造成其它靜態檔案(js,css等)不能訪問。如配為*.do,則不影響靜態檔案的訪問 -->  
    <servlet-mapping>  
        <servlet-name>spring</servlet-name>  
        <url-pattern>*.do</url-pattern>  
    </servlet-mapping>  
</web-app> 
這裡需要注意的是:
<span style="color:#ff9900;"><strong> <servlet-mapping>  
        <servlet-name>spring</servlet-name>  
        <url-pattern>*.do</url-pattern>  
    </servlet-mapping>  </strong></span>
如果寫成:
<span style="color:#ff9900;"><strong> <servlet-mapping>  
        <servlet-name>spring</servlet-name>  
        <url-pattern>/</url-pattern>  
    </servlet-mapping>  </strong></span>
會提示:$ is not defined錯誤
記錄一下





相關推薦

spring mvc ajax非同步互動完整例項

Spring MVC 非同步互動demo: 1.jsp頁面: <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOC

Spring MVCAjax互動例項

1. 用Intellij IDEA建立一個Spring MVC的project,目錄結構如下 2. 用maven載入相應的jar包 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="htt

Spring MVC中 Json序列化物件例項的問題兩個辦法

情況是這樣的: HTTP請求中,將一個類的例項直接JSON成文字,返回給客戶的端的辦法。 系統:ContOS ,IDE:intellij Spring:4.3.6 Json:1.9.13 如果要將一個類的例項直接返回給HTTP請求的客戶端,是沒辦法的。這樣做的結果是500錯

深入淺出JMS(四)--SpringActiveMQ整合的完整例項

第一篇博文深入淺出JMS(一)–JMS基本概念,我們介紹了JMS的兩種訊息模型:點對點和釋出訂閱模型,以及訊息被消費的兩個方式:同步和非同步,JMS程式設計模型的物件,最後說了JMS的優點。 前言 這篇博文,我們基於Spring+JMS+Act

Spring MVCAjax互動及重定向操作

一、Spring MVC 與Ajax互動一般情況下,Controller中方法返回值型別有兩種1、String 直接跳轉到某View介面2、Void 不需要進行頁面跳轉,直接訪問下一個方法返回String型別跳轉介面的引數接收和傳遞在Spring MVC 引數傳遞與表單互動中

深入淺出ActiveMQ(四)--SpringActiveMQ整合的完整例項

第一篇博文深入淺出ActiveMQ(一)–JMS基本概念,我們介紹了JMS的兩種訊息模型:點對點和釋出訂閱模型,以及訊息被消費的兩個方式:同步和非同步,JMS程式設計模型的物件,最後說了JMS的優點。 前言 這篇博文,我們基於Spring+JMS+ActiveM

Spring MVC 系列(四)——Spring MVCAjax互動及重定向操作

 一、Spring MVC 與Ajax互動 一般情況下,Controller中方法返回值型別有兩種 1、String 直接跳轉到某View介面 2、Void 不需要進行頁面跳轉,直接訪問下一個方法

spring mvc接收ajax提交的JSON數據,並反序列化為對象

ucc clas resp 格式 字符 序列 設定 ati res 需求:spring mvc接收ajax提交的JSON數據,並反序列化為對象,代碼如下: 前臺JS代碼: //屬性要與帶轉化的對象屬性對應 var param={name:‘語文‘,price:16

Intellij+spring boot+spring MVC創建helloworld示例完整步驟

vcc turn 倉庫 pin oot type apach pro ali 1. 創建spring boot項目選擇spring initializr,然後選擇default點擊next,填寫項目信息點擊“next”,選擇web->web點擊“next”,填寫項目信

淺析Spring MVCSpring BOOT之間的簡化小秘密

solver 應用開發 b- 存在 cts frame 幫助 假設 導入jar 從Servlet技術到Spring和Spring MVC,開發Web應用變得越來越簡捷。但是Spring和Spring MVC的眾多配置有時卻讓人望而卻步,相信有過Spring MVC開發經驗的

JavaWeb筆記-23-AJAX非同步互動ajax傳送非同步請求(四步操作)

1)ajax: asynchronous javascript and xml:非同步的js和xml 作用:能使用js非同步訪問伺服器. (原本只是響應伺服器,不能傳送請求) 應用場景: 1)百度的搜尋框 2)使用者註冊時(校驗使用者名稱是否被註冊過)

spring mvcspring boot實現AOP

spring boot實現AOP 首先建立切面類需要@Aspect,@Component註解 然後建立@Pointcut確定什麼方法實現aop @Pointcut("execution(* com.air_baocl.controller.selectApi.*(..))")

Spring Boot、Spring MVC Spring 有什麼區別?

SpringFrame       SpringFramework 最重要的特徵是依賴注入。所有 SpringModules(多模組) 不是依賴注入就是 IOC 控制反轉。       當我們恰當的使用 DI 或者是 IOC 的時候,我

Spring MvcSpringBoot整合Swagger2

各位同學大家好,最近專案趕進度,沒有鑽研技術的時間,但碰巧今天需要在Spring專案上進行SpringMvc和Swagger的整合,而第一次使用Swagger是在SpringBoot專案上,因此踩了不少的坑,於是想和大家分享一下 :關於Swagger在SpringBoot或者和SpringMvc的整

Spring MVC利用Ajax上傳圖片

html <input type="file" onchange="imageUpload(this)" class="form-control" placeholder="點選按鈕選擇圖片"id="pictureUpload"> Ajax function imageU

MVC使用ajax非同步重新整理時怎樣輸出從後臺中傳過來的JSON資料

    前言 這幾天在學習MVC使用AJAX非同步刷,因為是新手。所以在js中傳引數到後臺以及後臺返回資料到前臺怎麼接受,怎麼前臺遍歷出JSON資料都開始不知道,相信新手在使用時跟我一樣會遇到,這裡我就和大家分享一下。新手勿噴。。。 這裡使用VS2010中新建的mvc 3.0專案

Spring MvcSpring Boot讀取Profile方式

spring boot java程式碼中獲取spring.profiles.active - u013042707的專欄 - CSDN部落格https://blog.csdn.net/u013042707/article/details/80632057 在Java類中取web.xml中配置的profile

Ajax非同步互動,判斷使用者名稱是否被佔用

jsp頁面 <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-/

spring mvcajax的呼叫(在上一篇的基本上)

spring mvc中ajax的呼叫 目錄 三、測試 一、在網格根目錄下建 resources\css resources\css\css.css @CHARSET "UTF-8"; .cssTable{ border:1px blue solid;

Spring MVC Struts2的區別、優缺點?

1、Spring MVC 開發效率和效能要優於Struts2。 2、Spring MVC繼承了 Ajax,使用 @ResponseBody註解寫入 HTTP 響應正文,一般在非同步獲取資料時使用,使用@RequestBody 註解則是將 HTTP 請求正文插入方法中,使用適合的 HttpMess