【Ajax】ajax 访问 Servlet 和 访问 springMVC的Controller

SpringMVC项目使用ajax向服务器请求数据时出现HttpMediaTypeNotAcceptableException错误的解决办法 Resolved [org.springframework.web.HttpMediaTypeNotAcceptableException: Could not findacceptable representation 这时候前台一般也会出现406错误 这个错有很多出现错误的场景,网上有很多相关解决办法,但是很多都是用的老版本,对新版本的springMVC不怎么管用,而且有的说修改pom.x... 阅读详情

分两种情况来写。

1. 首先是 html 页面 使用 ajax 访问 Servlet:

目录结构:

web.xml 不用修改,因为 Test_Servlet.java 中 配置了 @WebServlet("/test") 。

 index.html:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
	<script src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
	<script type="text/javascript">
		function ajax1(){
			alert("3333");
			$.ajax({
				type : "post",
				url : "test", // 此处的路径 与 springmvc-servlet.xml 中保持一致
				success : function(result){
					alert("666");
					$(window).attr("location",result);
				}
			});
		}
	</script>
</head>
<body>
	<form action="">
		<input type="button" value="submit2" onclick="ajax1()">
	</form>
</body>
</html>

Test_Servlet.java

package test;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.bind.annotation.RequestMapping;

@WebServlet("/test")
public class Test_Servlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		System.out.println("1111");
		request.setAttribute("message", "doGet");
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		System.out.println("2222");
		request.setAttribute("message", "doPost");
	}


}

会看到 输出:

 

 

 

2.  html 页面 使用 ajax 访问 SpringMVC 的Controller : 

先附上 目录结构:

涉及到  web.xml    springmvc-servlet.xml    index.html    TestController 四个文件

需要导入 springmvc 的一些jar包。这里提供完整下载:http://how2j.cn/k/springmvc/springmvc-springmvc/615.html

web.xml:  配置了 springmvc 解析

<?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_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>Servlet</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>

	<servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.html</url-pattern>
    </servlet-mapping>

</web-app>

springmvc-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"
	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-3.0.xsd 
     http://www.springframework.org/schema/mvc 
     http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">


	<bean id="simpleUrlHandlerMapping"
		class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
		<property name="mappings">
			<props>
				<prop key="/test.do">testController</prop>
			</props>
		</property>
	</bean>
	<bean id="testController" class="controller.TestController"></bean>

</beans>


 

index.html :  很简单的程序

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
	<script src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
	<script type="text/javascript">
		function ajax1(){
			alert("3333");
			$.ajax({
				type : "post",
				url : "test.do", // 此处的路径 与 springmvc-servlet.xml 中保持一致
				success : function(result){
					alert("666");
					$(window).attr("location",result);
				}
			});
		}
	</script>
</head>
<body>
	<form action="">
		<input type="button" value="submit2" onclick="ajax1()">
	</form>
</body>
</html>

TestController.java:

package controller;

import javax.servlet.http.HttpServletRequest;

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

@Controller
public class TestController {

	@RequestMapping("/test.do")
	@ResponseBody
	public String test(HttpServletRequest req){
		
		System.out.println("TEST_CONTROLLER...");
		
		String[] result = new String[2];
		result[0] = "result.html";
		result[1] = "访问 Controller 成功,返回信息 result.html 到 ajax,通过 ajax 转发到 result.html 页面";

		return "result.html";
	}
}

result.html:

<!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>Insert title here</title>
</head>
<body>
	ajax 访问 controller 成功,转发到 此处。
</body>
</html>

访问的原理:  

web.xml 首先被解析,发现有  springmvc 的 servlet,开始寻找  springmvc-xxx.xml 的配置文件,

springmvc-xxx.xml 的配置文件 配置了 bean  和 访问路径映射,可以找到 controller 的 java 文件,

Testcontroller.java 文件中 写了  @RequsetMapping(“xxx”)访问路径指向的方法,会执行该方法。 

控制台输出:

页面输出:

 

 

 

 

声音编程(Voice Coding) Talon(一) 基本介绍与安装使用 语音编程平台简介 语音编程工具有哪些:Talon是一款声音编程平台,它追求的意义在于完全取代键盘和鼠标。。当前,全球有两个领先的语音编程平台(Programming-By-Speech Platforms)。一是Serenade,它的作用有点像数字助手,可以让你描述正在编程的命令,而不要求你必须逐字逐句地口述每条指令。另一个就是Talon,它提供了对每一行代码更精细的控制,这也意味着你需要对每一个被编入机器的任务有更细致的把握。具体的差别可以参考文章末尾的Serenade 和 Talon编程的例子。 除了这 阅读详情

相关推荐

手把手教你理解特斯拉Model 3的域控制器架构:RBCM如何成为“多面手”?

本文深入解析特斯拉Model 3的域控制器架构,重点介绍右车身域控制器(RBCM)如何整合车身电子系统功能。RBCM作为多任务处理中枢,管理空调系统、尾部电气设备和超声波雷达等关键功能,展现了特斯拉在汽车电子架构上的创新设计。文章详细探讨了RBCM的硬件架构、功能版图及信号网络,揭示其如何通过高性能MCU和智能开关技术实现功能集中与效率提升。

weixin_30919429的博客 383

ajax与后端controller层数据交换

在maven项目中要使用jackson将Java对象转化成json格式的数据要导入jackson依赖 <!--jackson依赖--> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.11.0</ver

weixin_43730516的博客 647

模拟IC设计避坑:手把手教你用Cadence仿真恒定跨导轨到轨运放(附完整工艺库文件)

本文详细解析了使用Cadence仿真恒定跨导轨到轨运放的全流程,涵盖电路原理、工艺库配置、尺寸设计及仿真分析。通过1:3电流镜补偿技术实现跨导稳定,提供CSMC 0.25um工艺下的实战案例,帮助工程师规避设计陷阱,提升模拟IC设计效率。

weixin_30952535的博客 494

ajax接口文档url路径简写方式

大家好,不知道各位小伙伴在写项目时向服务器发送ajax请求的时候,在url地址上每写一个分页路径时前面都要加上项目的请求根路径而感到繁琐,下面我就为大家介绍一种简便的方法直接写分页路径就行了。 我们先来看一段代码 : $.ajax({ method: "get", url: "http://api-breakingnews-web.itheima.net/my/userinfo", success: res => { con

AnglaSolo的博客 1729

Cadence psspxf实战:手把手教你仿真250MHz环形VCO的电源抑制比(附Verilog代码)

本文详细介绍了使用Cadence psspxf仿真器对250MHz环形VCO的电源抑制比(PSRR)进行仿真的全流程。从环形VCO的设计原理、Verilog代码实现,到Cadence环境配置、仿真参数设置,再到结果分析与优化技巧,提供了完整的实战指南。特别适合电路设计工程师学习如何评估和优化VCO的抗电源噪声能力。

weixin_42567752的博客 414

VBA学习笔记6:将多个工作表中满足条件的数据汇总到同一个工作表

VBA学习笔记6:将多个工作表中满足条件的数据汇总到同一个工作表

weixin_45355881的博客 4708

.net ajax路径怎么写,Ajax中post后台.net MVC中Controller的路径问题。

今天使用ajax的post方法,去访问mvc的controller,url的传值是 "//ProductCatalog/PostShareInfo",发现无论如何都访问不到。原因是因为,前面多了一个/,应该为"/ProductCatalog/PostShareInfo",不是"//ProductCatalog/PostShareInfo"根据:https://blog.youkuaiyun.com/laoka...

weixin_33631305的博客 699

老 Intel Mac mini 装 OpenClaw:低成本常年在线方案

老款Intel Mac mini部署OpenClaw方案摘要 本文详细介绍了如何利用老款Intel Mac mini低成本部署OpenClaw系统。方案推荐2011-2018款Mac mini,建议升级至16GB内存和SSD存储以提升性能。部署步骤包括:1)安装Ubuntu系统;2)配置Docker环境;3)通过docker-compose部署OpenClaw及其依赖组件(PostgreSQL和Redis);4)进行系统级和Docker层面的性能优化;5)设置开机自启动服务。该方案充分利用老款设备剩余价值,

一键难忘的博客 2476

用自己话了解Ajax的基本使用

ajax:异步局部刷新,增强B/S架构的体验性 B/S:浏览器对服务器(未来主流架构) C/S:客户端与服务器 ajax获取文本框中的值:$("文本框id").val(); 实例:function a1(){ $.ajax({//ajax默认get提交 url:"${pageContext.request.contextPath}/控制器里的路径", //url:提交的路径 data:{"控制器中方法的变量名":$("文本框ID").val()},//data:要传给控制...

LinYe_2的博客 259

uniapp - 实现移动端H5微信公众号网页内置浏览器中预览和下载word文档(doc)、excel表格(xls)、ppt文稿、pdf文档等文件,微信内部打开预览和下载到本地详教程,兼容安卓苹果手机

uni-app,微信公众号,h5,移动端,web平台端,网页,网站,Uniapp微信公众号H5网站,内置浏览器下载文档,如何在微信浏览器中预览office文件,word文档,excel文档,pdf文档,ppt文档,office,微信内置浏览器下载文件,下载文件,在微信浏览器里面实现下载任意文件,H5需要在微信浏览器中下载excel文件,UniApp实现网页在微信内置浏览器中下载文件详细教程,安卓点击下载会提示打开浏览器,后端返回流文件,如何解决无法下载文件,跳转至浏览器下载文件,发送到电脑微信,安卓,苹果,

🏆 前端领域优质创作者 1万+

华为OD技术面真题 - Python开发 - 2

汇总华为OD技术面八股Python八股,高频技术真题并提供详细解答。

qq_45776114的博客 910

Ajax URL路径的写法

Ajax URL路径的写法 在前后端使用ajax进行数据交互的时候,需要在前端代码中编写URL路径进入后端代码的controller中,从而获取数据。初次尝试前后端交互也许会遇到困难,在此,我列举了几种URL的写法供大家分享。 相对于网站根目录可以用"/"开始 (根目录是指服务器的根目录,不是你项目的根目录) ...

weixin_44582716的博客 5267

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

SpringMVC的使用

第一章 SpringMVC概述 1.SpringMVC简介 SpringMVC是基于Spring的一个框架,实际上就是Spring的一个模块,专门是做web开发的 可以理解为是一个Servlet的升级版 web开发的底层是servlet,框架是在servlet基础上面加入一些功能,使web开发更方便 2.SpringMVC的优点 1.基于MVC 架构功能分工明确,解耦合 2.容易理解,上手快,使用简单,SpringMVC也是轻量级的,jar很小。不依赖特定的接口和类 3.作为Spring框架的一部分,能够使

qq_41151938的博客 281

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

MVC架构模式与三层架构

详细解读了三层架构和MVC以及两者之间的关系

???? 7933

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

ajax直接调用error,Ajax访问SpringMVC的Controller进入error

Ajax访问SpringMVC的Controller进入error##* JSP记得我忘记密码?##*Ajaxfunction login(that) {$.ajax({data: "username=" + $("#username").val() + "&password=" + $("#password").val(),type: "post",url: "/checklogin",...

weixin_29876887的博客 399

springmvc中ajax,springMVC中ajax的使用

springMVC中使用ajax有两种方法,第一种是根据servletAPI来使用ajax,第二种是根据springMVC给我们提供的API来使用。一.根据servletAPI:springMVC配置文件如下:具体controller如下:@RequestMapping("/ajax.do")public void ajax(HttpServletRequest req,HttpServletRe...

weixin_39696197的博客 522

SpringMVC处理AJAX请求

Spring MVC 处理AJAX请求1.视图View的jsp页面 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> Insert title here function ajaxFunction() { var xmlHttp;

dyy_gusi的博客 716

(controller与ajax之间的数据传输)关于controller无法返回json类型参数回ajax中的问题

最近在写一个基于ssm框架的javaWeb项目,第一次使用ssm框架,遇到了controller无法将json返回页面的ajax中,昨天下午得到了解决,现在在这里做一下记录。 首先要导入json的三个架包: 下载地址:https://github.com/Lyr0422/llyr/tree/master/jackson 接下来配置springmvc.xml配置文件,配置json格式数据转换 &l...

qq_41304579的博客 1320

springmvc集成ajax问题

springmvc中controller的方法默认返回类型为ModelAndView 如果需要将其返回类型改为map类型, 1、需要在方法前面加入注解 @ResponseBody  已将数据格式转换为json格式 (如果不加入该注解,则后台404 Not Found 错误) 2、导入转换json所需要的包 jackson-core-asl-1.9.12.jar jackso

u014447371的博客 1190

SpringMVC+Jquery实现Ajax

一、什么是Ajax? Ajax:异步的JavaScript和Json(这里XML改为了Json); 作用:用于完成网页局部刷新功能(修改少量数据只用局部刷新,不用再整个网页重新加载); 二、SpringMVC和Jquery的简单介绍 SpringMVC:是基于Spring的一个子框架(MVC框架),功能强于Spring,这个框架主要是解决咱们Controller这一层的问题。M:mo...

weixin_30856725的博客 193

【Java】SpringMVC

⑥操作业务Controller ,实现Controller接口,返回ModelAndView,装数据,封视图;--通过初始化参数指定SpringMVC配置文件的位置,进行关联-->⑧写要跳转的jsp页面,显示ModelandView存放的数据,以及我们的正常页面;-- 自动扫描包,让指定包下的注解生效,由IOC容器统一管理 -->-- 启动顺序,数字越小,启动越早 -->-- 让Spring MVC不处理静态资源 -->--所有请求都会被springmvc拦截 -->

weixin_44828537的博客 749

SpringMVC对Ajax的支持

SpringMVC对Ajax的支持 #Ajax  Ajax可以在页面不刷新的情况下,发出HTTP请求,服务器返回数据,之后解析数据,刷新页面局部区域。  XMLHttpRequest为核心发送请求,接收数据  jQuery: $.ajax(),$.get(),$.post(),对象.load() #Ajax程序应用 jQuery+Servlet+JSON(json-

龙腾四海365的专栏 908

ssm框架ajax传值,ssm框架controller层返回json格式数据到页面的实现

通常前端页面发送ajax请求,我们只需要返回json格式数据就行1.在pom.xml加入依赖2.5.4com.fasterxml.jackson.corejackson-core${jackson.version}com.fasterxml.jackson.corejackson-databind${jackson.version}2.dispatcherServlet-servlet.xml中配...

weixin_42298270的博客 824

SpringMVC框架笔记

SpringMVC 1、回顾MVC 1.1、什么是MVC MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。 是将业务逻辑、数据、显示分离的方法来组织代码。 MVC主要作用是降低了视图与业务逻辑间的双向偶合。 MVC不是一种设计模式,MVC是一种架构模式。当然不同的MVC存在差异。 Model(模型): 数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或JavaBean组件(包含数据和行为),不过现在一般都分离开来:Value Ob

The_Beacon的博客 910

SpringMvc-ajax案例

SpringMvc-ajax案例ajax案例二级目录jquery下载方法:步骤:导入json格式依赖包:springmvc-servlet.xml开启mvc注解的支持:springmvc-servlet.xml静态资源访问:UserController.javaindex.jsp ajax案例 二级目录 jquery下载方法: 步骤: 导入json格式依赖包: <!--json格式依赖包--> <dependency> &

qq_45740503的博客 367

SpringMVC

springmvc

weixin_44787078的博客 2610
上一篇: 【zheng】学习搭建github的高星项目:zheng
下一篇: 【LeetCode】905. 按奇偶排序数组
jy0921_
博客等级 码龄11年 329粉丝 193原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值