ajax请求提交到controller,页面404提示找不到jsp

用layui写的一个登陆表单,想在Ajax中验证,然后通过ajax的回调函数跳转到查全部的Controller,我登录的controller返回的是一个map,页面为什么报错找不到jsp,但是我后台确实得到了前台传过来的登录信息

提交按钮

图片说明

前台

图片说明

后台

图片说明

报错

图片说明

在这里插入图片描述已经阻止表单提交了,还是不行,来个大佬救救孩子叭

6个回答

要确保ajax里的url映射的地址存不存在,这个地址是java文件的映射路径,跟jsp没关系

QueenOfHearts
QueenOfHearts 回复csdnflys: 还是不行
10 个月之前 回复
liyingjun123
csdnflys 回复QueenOfHearts: 把responsebody去掉试试
10 个月之前 回复
QueenOfHearts
QueenOfHearts 这个地址是存在的,我后台已经拿到formData里面的值了
10 个月之前 回复

debugger 断点处返回的 result 的值是什么呢?
后面 location 的地址直接定位到应用的某个 jsp 呢?

QueenOfHearts
QueenOfHearts 回复毕小宝:我哭了,老哥,我的controller中map没有声明,那返回值跟没有一样,所以ajax一直跳jsp页面
10 个月之前 回复
wojiushiwo945you
毕小宝 回复QueenOfHearts: 把 debugger 打在外面看看会怎样?如果确定页面,直接 location 到页面就可以了。
10 个月之前 回复
QueenOfHearts
QueenOfHearts 回复毕小宝: 我把user/loginUser.jsp那个页面写着就可以正常进入回调函数,并且会正常跳转到user/userList那个controller
10 个月之前 回复
QueenOfHearts
QueenOfHearts 回复毕小宝: 好像没跳,我在ajax那个回调函数里面写了一个debugger,f12查看就没跳进去
10 个月之前 回复
wojiushiwo945you
毕小宝 回复QueenOfHearts: 那这个是怎么跳出来的呢?可能是 location 的 user/userList 视图解析成这个 JSP 了。
10 个月之前 回复
QueenOfHearts
QueenOfHearts 回复毕小宝: 我不是要跳转loginUser这个jsp
10 个月之前 回复
wojiushiwo945you
毕小宝 回复QueenOfHearts: 看看你的 WEB-INF/jsp/user/login.jsp 地址是否正确。检查 SpringMVC 配置文件的 视图解析规则。
10 个月之前 回复
QueenOfHearts
QueenOfHearts 老哥,我觉得我问题可能描述的不太准确,我重新更新了下问题
10 个月之前 回复
QueenOfHearts
QueenOfHearts result里面是controller方法返回的值,后面的地址是查全部的controller
10 个月之前 回复

我的controller中map没有声明,那返回值跟没有一样,所以ajax一直跳jsp页面

跳转全路径如www.baidu.com/user/login这种

1、“后台确实得到了前台传过来的登录信息”==》如果进入了后台,会打印user信息,
然后在前台进入页面跳转进入user/userList路径对应的controller,如果这个controller配置的页面路径有问题则会报404
2、也有可能是按钮是submit提交,页面表单action对应路径出错了。看看浏览器网络请求的具体路径

controller类的注解应为@RequestMapping(value=“/user/loginUser”)

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
ajax请求controller 找不到路径

![图片说明](https://img-ask.csdn.net/upload/202001/28/1580213538_365624.png)![图片说明](https://img-ask.csdn.net/upload/202001/28/1580213572_852178.png)![图片说明](https://img-ask.csdn.net/upload/202001/28/1580213705_611299.png)![图片说明](https://img-ask.csdn.net/upload/202001/28/1580213714_154343.png) 一直解决不了 而且idea运行后 8080端口设置成功 但是进不了, 用idea开启浏览器的端口号是63342

请求不能找到controller,报404错误

请求不能找到controller,报404错误,下面是我的代码![图片说明](https://img-ask.csdn.net/upload/201606/12/1465742295_326692.png)![图片说明](https://img-ask.csdn.net/upload/201606/12/1465742303_353403.png)![图片说明](https://img-ask.csdn.net/upload/201606/12/1465742310_243978.png)

ajax方式提交表单,spring mvc的Controller中怎么不能返回视图

ajax请求到springmvc的Controller后,请求成功后为什么不跳转到jsp?就是这句:return new ModelAndView("/sys/selectAccount");不用ajax请求就可以

为什么我的Ajax不能跳转到controller

$(function () { var inpUser = $(".userName"); var inpPsw =$(".psw") var inpUserVul = inpUser.val(); var inpPswVul = inpPsw.val(); var btn = $(".hs_login_btn"); var tip=$(".hs_login_tip"); var datas=$("form").serialize(); var flagPsw=false; var flagUser = false; inpUser.on("keyUp",function(){ if (inpUserVul.trim("") == "") { tip.html('请输入用户名').fadeIn(500).delay(1500).fadeOut(500); return false; } /* if(!/^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$/.test(inpUserVul)){ //alert("请输入正确的用户名"); tip.html('请输入正确的用户名').fadeIn(500).delay(1500).fadeOut(500); return false; }*/ flagUser = true; }) inpPsw.on("keyUp",function(){ if (inpPswVul.trim("") == "") { tip.html('请输入密码').fadeIn(500).delay(1500).fadeOut(500); return false; } /*if(!/^[a-zA-Z]\w{5,15}$/.test(inpPswVul)){ tip.html('请输入正确的密码').fadeIn(500).delay(1500).fadeOut(500); return false; }*/ flagPsw=true; }) btn.on("click",function(){ $.ajax({ type: "post", url:"/sms/rest/app/user/login", data: datas, dataType:"json", /*beforeSend:function(){ if (flagPsw == true && flagUser == true) { alert("判断按钮1") return true; } else { alert("判断按钮2") tip.html('不符合规则').fadeIn(500).delay(1500).fadeOut(500); return false; } },*/ success : function(data) { //tip.html('登陆成功').fadeIn(500).delay(1500).fadeOut(500); window.location.href="http://localhost:8080/sms/view/register/index.html"; }/*, error: function(request) { //alert("失败"); tip.html('登陆失败').fadeIn(500).delay(1500).fadeOut(500); }*/ } ); }) }) @Controller @RequestMapping("app/user") public class AppUserController { @Autowired private AppUserVOService appUserService; @RequestMapping("/login") public @ResponseBody JsonModel loginUser(String cellphonenumber,String userpassword,AppUserVO uv,JsonModel json){ uv.setCellphonenumber(cellphonenumber); uv.setUserpassword(userpassword); return appUserService.getUser(uv, json); } } 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" 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"> <!-- Spring --> <!-- 配置Spring配置文件路径 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath*:applicationContext.xml </param-value> </context-param> <!-- 配置Spring上下文监听器 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- Spring --> <!-- 配置Spring字符编码过滤器 --> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- 配置log4j配置文件路径 --> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>classpath:log4j.properties</param-value> </context-param> <!-- 60s 检测日志配置 文件变化 --> <context-param> <param-name>log4jRefreshInterval</param-name> <param-value>60000</param-value> </context-param> <!-- 配置Log4j监听器 --> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener> <!-- Spring MVC 核心控制器 DispatcherServlet 配置 --> <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:spring-mvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <!-- 拦截所有/rest/* 的请求,交给DispatcherServlet处理,性能最好 --> <url-pattern>/rest/*</url-pattern> </servlet-mapping> <!-- 首页 --> <welcome-file-list> <welcome-file>rest/index</welcome-file> </welcome-file-list> <!-- 错误页 --> <error-page> <error-code>404</error-code> <location>/rest/page/404</location> </error-page> <error-page> <error-code>500</error-code> <location>/rest/page/500</location> </error-page> </web-app>

jsp页面通过$.ajax请求java后台,但是页面跳转了

js代码: ``` function sendForm() { alert("12345"), $.ajax({ type : "get", url : "code/checkcode", data : { "codeNum" : $("#codeNum") }, dataType : "json", success : function(data) { alert("123"); }, error : function(data) { alert(data); } }); } ``` java代码: ``` @RequestMapping(value = "checkcode", method = RequestMethod.GET) @ResponseBody public Map<String, Object> checkCode(Code code, HttpServletResponse resp) { resp.addHeader("Content-Type", "application/json"); Map<String, Object> map = codeService.checkCode(code.getCodeNum()); return map; } ```

用ajax请求实现表单提交并页面跳转的问题

使用的是SpringBoot框架,部分代码如下 JS代码: function login() { var userName = $("#inputName").val(); var userPassword = $("#inputPassword").val(); var rememberUser = $("input[type=checkbox]").get(0).checked; $.ajax({ url : "login/userLogin", type : "post", dataType : "json", data : { "userName" : userName, "userPassword" : userPassword }, success : function(result) { if (result.status == 1) { if (rememberUser) { addCookie("userName", userName, 30); } else { delCookie("userName"); } window.location.href = "menu.html"; } else if (result.status == 0) { alert(result.message); } } }); return false; } Controller代码: @RequestMapping(value = "login/userLogin", method = RequestMethod.POST) @ResponseBody public Result login(User user) { Result result = userService.login(user); return result; } 登录form提交后,每次都是显示返回的json,而不是跳转到menu.html,应该怎么改 ![图片说明](https://img-ask.csdn.net/upload/201808/06/1533518408_644093.jpg)

js中ajax没有调用controller方法

js: $.ajax({ url:"editNews.api", //处理页面的路径 就是你controller里的方法 后台方法记得加 @ResponseBody data:{"items_id":items_id,"imageLink":imageLink}, //要提交的数据是一个JSON 6这个可以根据你需要数据来替换 type:"POST", //提交方式 dataType:"TEXT", //返回数据的类型 //TEXT字符串 JSON返回JSON XML返回XML success:function(message){ //回调函数 ,成功时返回的数据存在形参data里执行成功,这里就可以判断是否编辑成功! } }); controller: @RequestMapping(value = "editNews", method = RequestMethod.POST) public ModelAndView editNews(HttpServletRequest request, HttpServletResponse response) throws Exception { // 获取表单提交数据 String items_id = request.getParameter("items_id"); String imageLink = request.getParameter("imageLink"); js中ajax没有调用controller方法,请问为什么?谢谢各位老师指导。

$.ajax()传递参数后台controller接收不到的问题

我想通过Ajax传递一个Pojo给Controller,但是controller接收不到数据 下面是Ajax代码片 $.ajax({ url: basePath + "update.action", method:"post", dataType:"json", contentType: "application/json", data:JSON.stringify({ cookId: $("#edit_cook_id").val, cookName: $("#edit_cookName").val, cookFlavor: $("#edit_cookFlavor").val, cookRepertory: $("#edit_cookRepertory").val, cookPrice: $("#edit_cookPrice").val, cookType: $("#edit_cookType").val }), success: function (data) { if (data > "0") { alert("客户信息更新成功!"); } else { alert("客户信息更新失败!"); } window.location.reload(); }, error:function () { alert("客户信息更新失败! "); } }); ``` ``` 接下来是Controller @RequestMapping(value = {"update"} ,method = { RequestMethod.POST }) @ResponseBody public Long update(@RequestBody CookBook cookBook) { System.out.println("=============================================="); System.out.println(cookBook); Long aLong = restaurantService.updateCook(cookBook); return aLong; } ``` ``` 这是打印语句 ============================================== CookBook{cookId=0, cookName='null', cookFlavor='null', cookRepertory=0, cookPrice=0, cookType='null'} 异常是说 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE `cook_id` = 0' at line 4 找了一天问题了,苦恼

访问Controller出现404

使用tomcat在post请求访问controller的时候会报错404 ![图片说明](https://img-ask.csdn.net/upload/201905/20/1558366974_538186.png) springmvc配置 ![图片说明](https://img-ask.csdn.net/upload/201905/20/1558367138_681049.png) web.xml相关配置 ![图片说明](https://img-ask.csdn.net/upload/201905/20/1558367283_222035.png) controller ![图片说明](https://img-ask.csdn.net/upload/201905/20/1558367347_667045.png) js配置 ![图片说明](https://img-ask.csdn.net/upload/201905/20/1558367464_137439.png) 网上找了许多方法有说是配置问题,看了一下还是没发现问题所在

ajax请求不跳转到后台

![这个是的路径](https://img-ask.csdn.net/upload/201607/02/1467439595_181661.png) ![controller文件 没有接着往下调用service dao](https://img-ask.csdn.net/upload/201607/02/1467439737_743453.png) ![配置文件 springMVC的](https://img-ask.csdn.net/upload/201607/02/1467439745_856706.png)

ssm 框架中能够访问到controller层,return页面时报404

## controller层 package com.qhmu.ssm.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class mainController { @RequestMapping("/inde") public String index(){ for(int i=0;i<10;i++){ System.out.println(i); } return "in"; } @RequestMapping("/abc.do") public String list(){ return "list"; } } ## web.xml配置 <!--1、 启动 spring 的容器 --> <!-- needed for ContextLoaderListener --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <!-- Bootstraps the root web application context before servlet initialization --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- 2、前端控制器 --> <servlet> <servlet-name>dispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcherServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <!-- 3、字符编码过滤器 ,一定要放在所有编码之前的--> <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>utf-8</param-value> </init-param> <init-param> <param-name>forceRequestEncoding</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>forceResponseEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- rest风格的URI ,将普通的post请求转为delete或者put请求--> <filter> <filter-name>HiddenHttpMethodFilter</filter-name> <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class> </filter> <filter-mapping> <filter-name>HiddenHttpMethodFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app> ## springmvc配置 <!-- 1、springmvc配置文件,包含网站跳转逻辑控制,配置 --> <context:component-scan base-package="com.qhmu.ssm.controller" ><!--use-default-filters="false" --> <!-- 只扫描控制器 --> <!-- <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/> --> </context:component-scan> <!--2、配置视图解析器,方便页面返回 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/"></property> <property name="suffix" value=".jsp"></property> </bean> <!-- 两个标准配置 --> <!-- 将 springmvc不能处理的资源交给Tomcat--> <mvc:default-servlet-handler/> <!-- 能支持springmvc一些更高级的功能,比如:JSR303校验,快捷的ajax请求...映射动态请求 --> <mvc:annotation-driven /> <!-- <mvc:resources mapping="/resources/**" location="/resources/" /> --> </beans> ## spring配置 <!-- 扫描所有除了控制器的包 --> <context:component-scan base-package="com.qhmu"> <!-- <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/> --> </context:component-scan> <!-- spring配置文件,这里主要配置和业务逻辑相有关的 --> <!-- =======================数据源,事务控制等====================== --> <context:property-placeholder location="classpath:dbconfig.properties"/> <bean id="pooledDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property> <property name="driverClass" value="${jdbc.driverClass}"></property> <property name="user" value="${jdbc.user}"></property> <property name="password" value="${jdbc.password}"></property> </bean> <!--==================== 配置和mybatis的整合 ==================--> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- mybaties全局配置 --> <property name="configLocation" value="classpath:mybaties-config.xml"></property> <property name="dataSource" ref="pooledDataSource"></property> <!--指定mybatis的mapper文件位置 --> <property name="mapperLocations" value="classpath:mapper/*.xml"></property> </bean> <!-- 配置扫描器,将mybaties的mapper接口的实现类加入IOC容器中 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <!-- 扫描所有的dao接口的实现,加入IOC容器中 --> <property name="basePackage" value="com.qhmu.ssm.dao"></property> </bean> <!-- 配置一个可以执行批量操作的SQLSession --> <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate"> <constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory"></constructor-arg> <constructor-arg name="executorType" value="BATCH"></constructor-arg> </bean> <!--==================== 事务控制的配置 ===================--> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <!-- 管理事务就先控制住数据源 --> <property name="dataSource" ref="pooledDataSource"></property> </bean> <!-- 开启基于注解的事务,使用xml配置形式的事务(必要主要的都是使用配置式) --> <aop:config> <!-- 切入点表达式 --> <aop:pointcut expression="execution(* com.qhmu.ssm.service..*(..))" id="txPoint"/> <!-- 配置事务曾强 --> <aop:advisor advice-ref="txAdvice" pointcut-ref="txPoint"/> </aop:config> <!-- 配置事务曾强 --> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <!-- 所有方法都是事务方法 --> <tx:method name="*"/> <!--以get开始的方法 --> <tx:method name="get*" read-only="true"/> </tx:attributes> </tx:advice> <!-- =============================================== --> <!--spring配置文件核心:(数据源,与mybatis整合,事务控制) --> </beans> ## 包结构 ![图片说明](https://img-ask.csdn.net/upload/201806/22/1529609202_458251.png)

JSp+ajax用户登录验证

[img]http://dl2.iteye.com/upload/attachment/0088/2001/4ee085e5-47e0-3995-ad42-62e4a53cfc2f.png[/img] 用户登陆界面,想要实现输入账号之后离开输入框就验证该账号是否存在,输入角色、账号、密码之后,点击登录,如果正确就跳转到index.jsp,错误不跳转并且在密码输入框下显示提示信息;有一个没输入就提示,信息也是在密码输入框下。 我现在的问题是:若果什么也不输,点击登录,会闪一下,但闪过之后就是重置了页面。输入正确也是闪一下就重置页面.账号验证没问题,就是登录有问题,但是搞不定,大侠们看看吧! login.jsp [code="java"]<form id="form" name="form" method="post" action="" > <table border="0"> <tr> <td align="right">角色类型:</td> <td><select name="role" id="role" onBlur="checkRole(this)"> <option value="0">-请选择角色-</option> <% List<Role> list = new ArrayList<Role>(); RoleDao dao = new RoleDaoImpl(); list = dao.findAllRoles();//调用实现类的查询全部方法 for (int i = 0; i < list.size(); i++) { Role r = list.get(i); %> <option value="<%=r.getR_id()%>"><%=r.getR_name()%></option> <% } %> </select> </td> <td align="left"> &nbsp; <span id="roleSpan"></span> </td> </tr> <tr> <td align="right">账号:</td> <td> <input type="text" name="number" id="number" onblur="checkNumber(this)"> </td> <td width="256" align="left"> &nbsp; <span id="numberSpan"></span> </td> </tr><!-- 当输入名字后离开输入框即调用--> <tr> <td align="right">密码:</td> <td><input type="password" name="pwd" id="pwd" onBlur="checkPsw(this)" > </td> <td align="left"> &nbsp; <span id="pwdSpan"></span> </td> </tr> <tr> <td align="left">&nbsp;<span id="feedback_info"></span></td> </tr> <tr> <td colspan="1"> <input type="submit" value="登录" onclick="checkLogin(this.form)"/> <input type="button" value="注册" onclick="javascript:window.location.href='User/Register.jsp'"></td> </tr> </table> </form>[/code] login.js [code="java"]var xmlHttp; function createXMLHttpRequest() { if (window.XMLHttpRequest) { var xmlHttp = new XMLHttpRequest(); //mozilla浏览器 } else if (window.ActiveXObject) { try { var xmlHttp = new ActiveX0bject("Msxml2.XMLHTTP"); //IE老版本 } catch (e) { } try { var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); //IE新版本 } catch (e) { } } if (!xmlHttp) { window.alert("不能创建XMLHttpRequest对象实例"); return false; } else return xmlHttp; ////}///////花括号放错地方 } // 检查账号,给出提示信息 function checkNumber(Number) { var numberSpan = document.getElementById("numberSpan"); if (Number.value == "") { numberSpan.innerHTML = "账号必须填写".fontcolor("red"); return false; } else { xmlHttp = createXMLHttpRequest(); //createXMLHttpRequest申明的是局部变量,这里访问不到xmlHttp,要给xmlHttp变量赋值才行 var url="servlet/CheckNumberServlet?number="+Number.value+"&LoginTime="+new Date().getTime(); url = encodeURI(url); //转换码后再传输 xmlHttp.open("GET",url,true);//加时间戳防止IE缓存 //xmlhttp.setRequestHeader( "Content-Type", "text/html;charset=UTF-8" ); xmlHttp.onreadystatechange = handleStateChange1; xmlHttp.send(null); return true; } } function handleStateChange1() { var numberSpan = document.getElementById("numberSpan"); if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { // alert("来自服务器的响应:"+xmlHttp.responseText); if (xmlHttp.responseText == 'true') {///////responseText是字符串,不能和boolean变量直接比较 // alert("存在"); numberSpan.innerHTML = "<img src='Img/g.gif'>"; document.getElementById("feedback_info").innerHTML=""; return true; } else if (xmlHttp.responseText == 'false') {///////responseText是字符串,不能和boolean变量直接比较 // alert("不存在"); numberSpan.innerHTML = "账号不存在".fontcolor("red"); return false; } } else alert("服务器端错误"); } } // 检查密码,给出提示信息 function checkPsw(pswNode) { var spanNode1 = document.getElementById("pswSpan"); var Role= document.getElementById("role"); var Number= document.getElementById("number"); if (pswNode.value == "") { spanNode1.innerHTML = "密码必须填写".fontcolor("red"); return false; } else { pwdSpan.innerHTML = "<img src='Img/g.gif'>"; document.getElementById("feedback_info").innerHTML=""; return true; } } // 检查是否选中角色 function checkRole(selNode) { var index = selNode.selectedIndex;// 获得选中下标 var spanNode1 = document.getElementById("roleSpan"); if (index <= 0) { spanNode1.innerHTML = "必须选择角色".fontcolor("red"); return false; } else { spanNode1.innerHTML = "<img src='Img/g.gif'>"; document.getElementById("feedback_info").innerHTML=""; return true; } } // 检查表单 function checkLogin(o) { var Role=o.role; var Number= o.number; var Pwd= o.pwd; if(checkNumber(Number)&&checkPsw(Psw) &&checkRole(Role)) { xmlHttp = createXMLHttpRequest(); //createXMLHttpRequest申明的是局部变量,这里访问不到xmlHttp,要给xmlHttp变量赋值才行 var url="servlet/CheckLoginServlet?number="+Number.value+"&role="+Role.value+"&pwd="+Pwd.value+"&LoginTime="+new Date().getTime(); url = encodeURI(url); //转换码后再传输 xmlHttp.open("GET",url,true);//加时间戳防止IE缓存 //xmlhttp.setRequestHeader( "Content-Type", "text/html;charset=UTF-8" ); xmlHttp.onreadystatechange = handleStateChange2; xmlHttp.send(null); return true; } else{ document.getElementById("feedback_info").innerHTML="请填写每一项".fontcolor("red"); return false; } } function handleStateChange2() { if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { //alert("来自服务器的响应:" + xmlHttp.responseText); if(xmlHttp.responseText == '0'){ document.getElementById("feedback_info").innerHTML="账号与密码不匹配".fontcolor("red"); return false; } else if(xmlHttp.responseText == '1'){ document.getElementById("feedback_info").innerHTML=""; window.location.href="index.jsp"; return true; } } else alert("服务器端错误"); } }[/code] chuckLoginservlet [code="java"]public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); doPost(request, response);// 调用doPost方法 } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=UTF-8"); String number=""; try { number = new String(request.getParameter("number").getBytes( "ISO-8859-1"), "UTF-8"); } catch (Exception e1) { System.out.println("number为空"); } String role="0"; int rID=0; try { role = new String(request.getParameter("role").getBytes( "ISO-8859-1"), "UTF-8"); rID=Integer.parseInt(role);//把获得的role的值转成整型 } catch (Exception e1) { System.out.println(request.getParameter("role")+"******role"); } String pwd=""; try { pwd = new String(request.getParameter("pwd").getBytes( "ISO-8859-1"), "UTF-8"); } catch (Exception e) { System.out.println(request.getParameter("pwd")+"****pwd"); } // String txt = new String(number.getBytes("ISO-8859-1"), "UTF-8"); // System.out.println(txt+"********"); PrintWriter out = response.getWriter(); User u = new User(); UserDao ud = new UserDaoImpl(); u = ud.findUserByNumber(number);//通过账号找到用户对象 if (u != null) {// 找到该用户 int u_id = u.getU_id();// 获得该用户的ID UserRole ur = new UserRole(); UserRoleDao urd = new UserRoleDaoImpl(); ur = urd.findUserRoleByUserId(u_id);// 找到中间表UserRole的记录 int r_id = ur.getRole().getR_id();// 由Userrole表找到Role表的相对应角色名称 if (r_id==rID && u.getU_password().equals(pwd))// 如果数据中的角色和密码与之对应 { out.write("1");//1表示验证通过 } else { out.write("0");//0表示密码与账号不匹配 } } out.flush(); out.close(); }[/code]

使用maven搭建的ssm框架能够访问jsp页面但是就是无法访问controller层,代码如下

controller层是这样的 @Controller @RequestMapping("web_User") public class UserController { private static final Logger logger = Logger.getLogger(UserController.class); @Resource private UserService userService; /** * 获取具体用户信息 * */ @RequestMapping(value = { "getUserById_test" }, method = { RequestMethod.POST }) public @ResponseBody Map<String,Object> getVideoById(@RequestParam long id) { User user = userService.finduserById(id); Map<String, Object> map = new HashMap<String, Object>(); map.put("result", user); return map; } } applicationcontext是这样的 <?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:mvc="http://www.springframework.org/schema/mvc" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:cache="http://www.springframework.org/schema/cache" xsi:schemaLocation=" 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 http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-4.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd "> <mvc:annotation-driven /> <context:annotation-config /> <mvc:default-servlet-handler /> <context:component-scan base-package="com.gp.demo.*" /> <!-- 启用缓存注解功能 --> <cache:annotation-driven cache-manager="cacheManager"/> <!-- 缓存管理器工厂加载ehcache的配置 --> <bean id="cacheManagerFactory" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"> <property name="configLocation" value="classpath:ehcache.xml"/> </bean> <!-- 声明缓存管理器 --> <bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager"> <property name="cacheManager" ref="cacheManagerFactory"/> </bean> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <value>classpath:jdbc.properties</value> </property> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="packagesToScan"> <list> <value>com.gp.demo.domain</value> </list> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </prop> <prop key="hibernate.show_sql">true</prop> </props> </property> </bean> <bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="${jdbc.driverClassName}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> <property name="initialSize" value="${jdbc.initialSize}" /> </bean> <!-- 配置事务管理器 --> <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"> <property name="dataSource" ref="dataSource" /> <property name="sessionFactory"> <ref bean="sessionFactory" /> </property> </bean> <!-- 连接事务的注解配置 --> <tx:annotation-driven transaction-manager="transactionManager" /> <!-- 配置事务的传播特性 hibernate4必须配置为开启事务 否则 getCurrentSession()获取不到 --> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="Find*" propagation="REQUIRED" read-only="true" /> <tx:method name="is*" propagation="REQUIRED" read-only="true" /> <tx:method name="save*" propagation="REQUIRED" /> <tx:method name="send*" propagation="REQUIRED" /> <tx:method name="accept*" propagation="REQUIRED" /> <tx:method name="approve*" propagation="REQUIRED" /> <tx:method name="count*" propagation="REQUIRED" /> <tx:method name="sort*" propagation="REQUIRED" /> <tx:method name="set*" propagation="REQUIRED" /> <tx:method name="add*" propagation="REQUIRED" /> <tx:method name="create*" propagation="REQUIRED" /> <tx:method name="insert*" propagation="REQUIRED" /> <tx:method name="update*" propagation="REQUIRED" /> <tx:method name="merge*" propagation="REQUIRED" /> <tx:method name="del*" propagation="REQUIRED" /> <tx:method name="remove*" propagation="REQUIRED" /> <tx:method name="put*" propagation="REQUIRED" /> <tx:method name="use*" propagation="REQUIRED" /> <tx:method name="register*" propagation="REQUIRED" /> <tx:method name="search*" propagation="REQUIRED" /> <tx:method name="get*" propagation="REQUIRED" /> <tx:method name="cancel*" propagation="REQUIRED" /> <tx:method name="login*" propagation="REQUIRED" read-only="true" /> <tx:method name="count*" propagation="REQUIRED" read-only="true" /> <tx:method name="find*" propagation="REQUIRED" read-only="true" /> <tx:method name="list*" propagation="REQUIRED" read-only="true" /> <!-- <tx:method name="*" read-only="true" /> --> </tx:attributes> </tx:advice> <!-- 那些类的哪些方法参与事务 --> <aop:config> <aop:pointcut id="allManagerMethod" expression="execution(public * com.gp.demo.service.*.*(..))" /> <aop:advisor pointcut-ref="allManagerMethod" advice-ref="txAdvice" /> </aop:config> <mvc:annotation-driven /> <bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver" /> <bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean" /> <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" /> <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" /> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="order" value="0" /> <property name="cacheSeconds" value="0" /> <property name="webBindingInitializer"> <bean class="org.springframework.web.bind.support.ConfigurableWebBindingInitializer"> </bean> </property> <property name="messageConverters"> <list> <bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter" /> <bean class="org.springframework.http.converter.StringHttpMessageConverter" /> <bean class="org.springframework.http.converter.FormHttpMessageConverter" /> <bean class="org.springframework.http.converter.xml.SourceHttpMessageConverter" /> <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" /> </list> </property> </bean> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/"></property> <property name="suffix" value=".jsp"></property> </bean> <!-- 定时邮件 --> <!-- end 定时邮件 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 设置上传文件的最大尺寸为100MB --> <property name="maxUploadSize"> <value>104857600</value> </property> </bean> <!-- SpringMVC在超出上传文件限制时,会抛出org.springframework.web.multipart.MaxUploadSizeExceededException --> <!-- 该异常是SpringMVC在检查上传的文件信息时抛出来的,而且此时还没有进入到Controller方法中 --> <bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> <property name="exceptionMappings"> <props> <!-- 遇到MaxUploadSizeExceededException异常时,自动跳转到/WEB-INF/jsp/error_fileupload.jsp页面 --> <prop key="org.springframework.web.multipart.MaxUploadSizeExceededException">error_fileupload</prop> </props> </property> </bean> <!-- <bean id="Obtainemile" class="com.wiwoworld.oa.web.NoticeController.Obtainemile" scope="singleton" init-method="startThread"></bean> <bean id="affordVisit" class="com.xmpp.manager.MangerThread.visitDatabase" scope="singleton" init-method="startThread"></bean> --> <!-- <bean id="lunxunqidong" class="com.wiwoworld.oa.web.NoticeController" scope="singleton" init-method="searchMailnotice"></bean> --> </beans>

post提交表单,Controller根本进不去

# **jsp:** <form id="itemAddForm" class="itemForm" method="post"> <table cellpadding="8" border="1"> <tr><td>商品类目:</td><td> <a href="javascript:void(0)" class="easyui-linkbutton selectItemCat">选择类目</a> <input type="hidden" name="cid" style="width: 280px;"></input></td></tr><tr> <td>商品标题:</td><td> <input class="easyui-textbox" type="text" id="title" name="title" data-options="required:true" style="width: 280px;"></input> </td></tr><tr><td>购入日期:</td><td> <input class="easyui-datebox" type="text" name="buydate" data-options="required:true"></input> </td></tr><tr><td>商品进价(J):</td><td> <input class="easyui-numberbox" type="text" name="buyprice" data-options="min:1,max:99999999,precision:0,required:true" /> </td></tr><tr><td>日本国内运费(J):</td><td> <input class="easyui-numberbox" type="text" name="japanfareprice" data-options="min:1,max:99999999,precision:0,required:true" /> </td></tr><tr><td>国际运费(J):</td><td> <input class="easyui-numberbox" type="text" name="interfareprice" data-options="min:1,max:99999999,precision:0,required:true" /> </td></tr><tr><td>国内运费(C):</td><td> <input class="easyui-numberbox" type="text" name="chinafareprice" data-options="min:1,max:99999999,precision:0,required:true" /> </td></tr><tr><td>关税(C):</td><td> <input class="easyui-numberbox" type="text" name="taxprice" data-options="min:1,max:99999999,precision:0,required:true" /> </td></tr><tr><td>商品售价(C):</td><td> <input class="easyui-numberbox" type="text" name="sellprice" data-options="min:1,max:99999999,precision:0,required:true" /> </td></tr> </table> <input type="hidden" name="itemParams"/> </form> <div style="padding:5px"> <a href="javascript:void(0)" class="easyui-linkbutton" onclick="submitForm()">提交</a> <a href="javascript:void(0)" class="easyui-linkbutton" onclick="clearForm()">重置</a> </div> </div> ``` <script type="text/javascript"> //ajax的post方式提交表单 function submitForm(){ $.post("/item/save",$("#itemAddForm").serialize(), function(data){ if(data.status == 200){ $.messager.alert('提示','新增商品成功!'); }else{ $.messager.alert('提示','新增商品失败!'); }}); } function clearForm(){ $('#itemAddForm').form('reset'); itemAddEditor.html(''); } ``` </script> ## **Controller:** @Controller @RequestMapping("/item") public class ItemController { @Autowired private ItemService itemService; @RequestMapping(value="/save",method=RequestMethod.POST) @ResponseBody public TaotaoResult createItem(TbItem item) { TaotaoResult result = itemService.createItem(item); return result; }} ## **pojo:** ``` public class TbItem { private Long id; private String title; private Date buydate; private Integer buyprice; private Integer japanfareprice; private Integer interfareprice; private Integer chinafareprice; private Integer taxprice; private Integer sellprice; private Long cid; private Byte status; private Date created; private Date updated; get。。。 set。。。 } ``` 好几天了,提交form表单但是Controller就是进不去,不知道为什么?求大神帮忙看看,谢谢

求助!ajax传递参数给controller层,报400错误。新手求助

ssm项目,一个人事管理系统,我的毕业设计。 ajax传递参数给controller层,前端报400错误,后端不报错: ![图片说明](https://img-ask.csdn.net/upload/202003/20/1584709984_827117.png) 功能是这样的:点击新增,弹出layer层,一个form表单,输入信息后,将表单中的值传递给controller层,然后进行insert。 这里点击确定后,报400,后端不报错。 这是我的前端请求: ``` ``` //layer弹出层 function pop(){ $(".add").click(function (){ //页面层-自定义 layer.open({ type: 1, title: '新增', closeBtn: 0, shadeClose: true, btn:["确定","取消"], skin: 'layui-layer-rim', area:['450px','320px'], content: $("#form").html(), yes:function (index,layero){ var name_ = $(layero).find(".name").val(); alert(name_) var sex = $(layero).find(".sex").val(); var deparment =$(layero).find(".deparment").val(); var work = $(layero).find(".work").val(); var work_type = $(layero).find(".work_type").val(); var tel=$(layero).find(".tel").val(); var become_full = $(layero).find(".become_full").val(); var data = {"name":name_, "sex":sex, "deparment":deparment, "work":work, "work_type":work_type, "tel":tel, "become_full":become_full } var d = JSON.stringify(data); console.log(d) $.ajax({ type:"GET", DataType:"JSON", contentType:"applicaiton/json", data:JSON.stringify(data), url:"/employeeController/addEntry", success:function(data){ alert("addEntry success!") }, error:function (){ console.log("addEntry error!") } }) } }); }) } ``` 这是我的form表单: ``` <form id = "form" class = "form" style="display:none"> <ul id ="form_ul"> <li><h4>姓名:</h4><input type="text" class = "name"></li> <li><h4>性别:</h4><input type="text" class="sex"></li> <li><h4>部门:</h4><input type="text" class="deparment"></li> <li><h4>职位:</h4><input type="text" class="work"></li> <li><h4>工作类型:</h4><input type="text" class="work_type"></li> <li><h4>手机号:</h4><input type="num" class="tel"></li> <li><h4>转正日期:</h4><input type="date" class="become_full"></li> </ul> </form> ``` 这是我的controller方法 : ``` //入职管理,添加 @RequestMapping(value="addEntry",method = RequestMethod.GET) @ResponseBody public void addEntry(HttpServletResponse response,@RequestBody Entry entry){ System.out.println("employeeName:"+entry.getName()); int rows = employeeService.addEntry(entry); String json = JSON.toJSONString(rows); response.setCharacterEncoding("utf-8"); response.setContentType("utf-8"); try { response.getWriter().write(json); } catch (IOException e) { e.printStackTrace(); } } ``` 这是我的实体类: package com.clgc.entity; import java.util.Date; //入职管理类 public class Entry { private int id; private String name; private Sex sex; private String deparment; private String work; private String work_type; private String tel; private Date become_full; private String strBecome_full; private String resumae;//简历 public Entry() { } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Sex getSex() { return sex; } public void setSex(Sex sex) { this.sex = sex; } public String getDeparment() { return deparment; } public void setDeparment(String deparment) { this.deparment = deparment; } public String getWork() { return work; } public void setWork(String work) { this.work = work; } public String getWork_type() { return work_type; } public void setWork_type(String work_type) { this.work_type = work_type; } public String getTel() { return tel; } public void setTel(String tel) { this.tel = tel; } public Date getBecome_full() { return become_full; } public void setBecome_full(Date become_full) { this.become_full = become_full; } public String getResumae() { return resumae; } public Entry(int id, String name, Sex sex, String deparment, String work, String work_type, String tel, Date become_full, String strBecome_full, String resumae) { this.id = id; this.name = name; this.sex = sex; this.deparment = deparment; this.work = work; this.work_type = work_type; this.tel = tel; this.become_full = become_full; this.strBecome_full = strBecome_full; this.resumae = resumae; } public String getStrBecome_full() { return strBecome_full; } public void setStrBecome_full(String strBecome_full) { this.strBecome_full = strBecome_full; } public void setResumae(String resumae) { this.resumae = resumae; } @Override public String toString() { return "Entry{" + "id=" + id + ", name='" + name + '\'' + ", sex=" + sex + ", deparment='" + deparment + '\'' + ", work='" + work + '\'' + ", work_type='" + work_type + '\'' + ", tel='" + tel + '\'' + ", become_full=" + become_full + ", strBecome_full='" + strBecome_full + '\'' + ", resumae='" + resumae + '\'' + '}'; } } 将@RequestBody Entry entry这个controller的参数去点,可以成功访问到controller 还有一个问题: 之前我用的是post请求,但是报Request method 'GET' not supported 这个错误,我把post请求改为get,就报现在这个错误,现在又把get改为post,又报下面这个错误了。不知道怎么回事。 -> 报415 ![图片说明](https://img-ask.csdn.net/upload/202003/20/1584710950_483964.png) 求助各位大神!!! ```

使用ssm框架开发,一直跳转不到controller层。。。不报错。。。

``` <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <c:set var="ctx" value="${pageContext.request.contextPath }"></c:set> <!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"> <link rel="stylesheet" href="${ctx}/css/style.css" type="text/css" media="all"/> <title>请假的实战记录</title> <style type="text/css"> body{ background-color: #fff; } </style> </head> <body> <center> <div style="width:350px;"> <form id="myForm" action="${ctx}/lr/lrAdd">----这就是跳转的地址 <h1>添加请假记录</h1> <table> <tr> <td>姓名</td> <td><input type="text" name="name" datatype="s6-16" errormsg="姓名长度为6-16位" nullmsg="请输入姓名"/> </td> </tr> <tr> <td>请假时间</td> <td> <input type="text" name="time" onclick="WdatePicker();" nullmsg="请输入时间"/> </td> </tr> <tr> <td>请假原因</td> <td> <textarea name="reason" datadype="s1-200" errormsg="最长字数为200" nullmsg="请假原因"></textarea> </td> </tr> <tr> <td></td> <td> <input type="submit" name="" value="提交"/>&nbsp;&nbsp; <input type="reset" name="" value="清空"/> </td> </tr> </table> </form> </div> </center> <scritpt type="text/javascript" src="${ctx}/js/jquery-1.9.1.min.js"></scritpt> <scritpt type="text/javascript" src="${ctx}/js/Validform_v5.3.2_min.js"></scritpt> <scritpt type="text/javascript" src="${ctx}/js/My97DatePicker/WdatePicker.js"></scritpt> <scritpt type="text/javascript" src="${ctx}/js/My97DatePicker/calendar.js"></scritpt> <script type="text/javascript"> $(function(){ $("#myFrom").Validform(); }); </script> </body> </html> ``` ``` package com.sxt.controller; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import com.sxt.pojo.Leaver; import com.sxt.service.LrService; import com.sxt.util.DateUtil; @Controller() @RequestMapping("/lr") public class AddController { @Autowired LrService lrService; @RequestMapping("/lrAdd") public String lrAdd(Leaver leaver,HttpServletRequest request){ //接收前台传送的数据 String name = request.getParameter("name"); String time = request.getParameter("time"); String reason = request.getParameter("reason"); //设置时间模式 String patten ="yyyy-MM-dd"; //将信息整合成一个对象进行传递 Leaver lea = new Leaver(name, DateUtil.str2Date(time, patten), reason); //对后台数据进行调用 int count = lrService.addLea(lea); if(count > 0){ return "redirect:/index"; }else{ return "redirect:/add"; } } } ``` 控制台不报错,F12页面信息老是显示的是404,就进不了Controller层,老是显示 lrAdd好像有问题。。 ![图片说明](https://img-ask.csdn.net/upload/201710/16/1508149012_161177.png) 控制台不报错就是浏览器就成这样了。。。很伤啊。。一下午了,搞不定。。

JSP页面无法定义到Controller的.do

JSP上关于LOGIN我是这么写的 $.ajax({ type: "POST", url: "<%=request.getContextPath() %>/login/login.do", data: $("#loginForm").serialize(), success: function(msg) { if(msg == "invalidPassword") { $("#login_yz").show(); $("#loginmsg").val("密码错误,请重新输入~"); } else if(msg == "invalidUsername") { $("#login_yz").show(); $("#loginmsg").val("用户名不存在,请重新输入~"); } else if(msg == "invalid") { $("#login_yz").show(); $("#loginmsg").val("登录操作有误,请重新输入~"); } else if(msg == "请求参数中含有非法字符!") { $("#login_yz").show(); $("#loginmsg").val("请求参数中含有非法字符!"); } else if(msg == "success") { location.href="<%=request.getContextPath() %>/goto/toFrame.do?frameName=main"; } } }); 然后在controller里面我是这么写的 @Controller @RequestMapping("/login") public class LoginController { private static Logger logger = Logger.getLogger(LoginController.class); @Resource private UserServiceImpl userService;// 服务类 @RequestMapping("/login.do") public void login(HttpServletRequest request, HttpServletResponse response, String user_name, String password) { try { User user = userService.findUserByName(user_name); if (user != null) { if (MD5.getMD5String(user.getPassword()).equalsIgnoreCase(password)) { HttpSession session = request.getSession(); session.setAttribute("user", user); System.out.println("**********用户已被放入Session**********"); ResponseUtils.renderText(response, "success"); } else { ResponseUtils.renderText(response, "invalidPassword"); } } else { ResponseUtils.renderText(response, "invalidUsername"); } } catch (Exception e) { logger.debug("login:'" + user_name + "'登录操作错误!" + e.getMessage()); ResponseUtils.renderText(response, "invalid"); } } } 结果就是JSP页面点登陆,无法进入到login.do,求帮解决

Ajax请求未执行,直接进入报错注册失败那里,求大神指教

![ajax内容图片说明](https://img-ask.csdn.net/upload/201612/29/1482998105_700328.png)

选中复选框时,调用Ajax或提交按钮

<div class="post-text" itemprop="text"> <p>I have following PHP while loop which is showing data as the checkbox. The checkbox can be multiple or one.</p> <pre><code>&lt;?php $supplier = new Admin; $supplier-&gt;rowQuery("SELECT * FROM supplier"); echo '&lt;form id="formId"&gt;'; while ( $data = $supplier-&gt;result-&gt;fetch_assoc()) { $sid = (int) $data['sid']; $supplierName = output($data['supplierName']); echo '&lt;label class="checkbox-inline"&gt;'; echo "&lt;input type='checkbox' name='sid[]' data-sid='$sid' value='$sid' class='supplierClass'&gt; $supplierName"; echo '&lt;/label&gt;'; } echo '&lt;input type="hidden" name="submit" value="supplier" class="clickBtn"&gt;'; echo '&lt;/form&gt;'; ?&gt; </code></pre> <p>Now I want to call Ajax when at least one checkbox or multiple checkbox is checked. So to do that I have following Javascrpt:</p> <pre><code>$('.supplierClass').click(function() { var sid = $(this).data('sid'); if(this.checked){ // $("input[type=submit]").trigger(".clickBtn"); $('.clickBtn').trigger(); $('#formId').submit(function() { $.ajax({ url : 'process/get-vehicle.php', type : 'POST', dataType : 'html', data : { sid : sid, }, beforeSend : function () { $('.allVehicle').html('Please wait...'); }, success : function ( result ) { $('.allVehicle').html(result); } }); }); } }); </code></pre> <p>but it's not called the Ajax :(</p> <p><strong>Overall Goal</strong></p> <p>You can see that I have set the checkbox name as <code>array</code> sid[]. Becuase I need to get all checkbox checked data as array in a PHP file. </p> <p>So how can I call Ajax when one or multiple checkboxes are checked? <strong>Please note that: In PHP file I want to get all checkbox or one checkbox value.</strong> </p> <p><strong>My Thought:</strong></p> <p>I think there should be a submit button as hidden. When I click on any checkbox It's should press the hidden button by jQuery to call the Ajax.</p> </div>

如果能重来,我不会选择北漂——初见北京

一个人走的路

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

我说我不会算法,阿里把我挂了。

不说了,字节跳动也反手把我挂了。

2020年大厂Java面试前复习的正确姿势(800+面试题答案解析)

前言 个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、 丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油! 本篇分享的面试题内容包括:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Redis、MySQL、Spring、SpringBoot、SpringCloud、RabbitMQ...

抖音上很火的时钟效果

反正,我的抖音没人看,别人都有几十万个赞什么的。 发到CSDN上来,大家交流下~ 主要用到原生态的 JS+CSS3。 具体不解释了,看注释: &lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;Title&lt;/tit...

记录下入职中软一个月(外包华为)

我在年前从上一家公司离职,没想到过年期间疫情爆发,我也被困在家里,在家呆着的日子让人很焦躁,于是我疯狂的投简历,看面试题,希望可以进大公司去看看。 我也有幸面试了我觉得还挺大的公司的(虽然不是bat之类的大厂,但是作为一名二本计算机专业刚毕业的大学生bat那些大厂我连投简历的勇气都没有),最后选择了中软,我知道这是一家外包公司,待遇各方面甚至不如我的上一家公司,但是对我而言这可是外包华为,能...

又出事了?网站被攻击了?高中生?

北京时间2020年3月27日9点整,如往常一样来到公司,带开电脑,正准备打开Github网站看一会源代码,再开始手头的工作。哟吼,一直打不开,一直出现如下页面: 我想很多网友也尝到了甜头,各大技术群炸开了锅,据网友反馈有攻击者正在发起大规模的中间人挟持,京东和Github等网站等网站都受到了影响。 什么是中间中间人挟持呢? 简而言之,就是攻击者在数据网络传输的过程中,截获传输过程中的数据并篡改...

培训班出来的人后来都怎么样了?(二)

接着上回说,培训班学习生涯结束了。后面每天就是无休止的背面试题,不是没有头脑的背,培训公司还是有方法的,现在回想当时背的面试题好像都用上了,也被问到了。回头找找面试题,当时都是打印下来天天看,天天背。 不理解呢也要背,面试造飞机,上班拧螺丝。班里的同学开始四处投简历面试了,很快就有面试成功的,刚开始一个,然后越来越多。不知道是什么原因,尝到胜利果实的童鞋,不满足于自己通过的公司,嫌薪水要少了,选择...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

工作八年,月薪60K,裸辞两个月,投简历投到怀疑人生!

近日,有网友在某职场社交平台吐槽,自己裸辞两个月了,但是找工作却让自己的心态都要崩溃了,全部无果,不是已查看无回音,就是已查看不符合。 “工作八年,两年一跳,裸辞两个月了,之前月薪60K,最近找工作找的心态崩了!所有招聘工具都用了,全部无果,不是已查看无回音,就是已查看不符合。进头条,滴滴之类的大厂很难吗???!!!投简历投的开始怀疑人生了!希望 可以收到大厂offer” 先来看看网...

我把华为小米年报放一起,发现华为才是真·手机公司,小米确实不靠卖手机赚钱...

郭一璞 发自 凹非寺量子位 报道 | 公众号 QbitAI国产手机界的两大玩家,华为&amp;小米,昨天在同一天前后脚发布了2019年财报。同行冤家,发财报也碰在了同一天。那我们就对比...

大牛都会用的IDEA调试技巧!!!

导读 前天面试了一个985高校的实习生,问了他平时用什么开发工具,他想也没想的说IDEA,于是我抛砖引玉的问了一下IDEA的调试用过吧,你说说怎么设置断点...

97年世界黑客编程大赛冠军作品(大小仅为16KB),惊艳世界的编程巨作

这是世界编程大赛第一名作品(97年Mekka ’97 4K Intro比赛)汇编语言所写。 整个文件只有4095个字节, 大小仅仅为16KB! 不仅实现了3D动画的效果!还有一段震撼人心的背景音乐!!! 内容无法以言语形容,实在太强大! 下面是代码,具体操作看最后! @echo off more +1 %~s0|debug e100 33 f6 bf 0 20 b5 10 f3 a5...

不要再到处使用 === 了

我们知道现在的开发人员都使用 === 来代替 ==,为什么呢?我在网上看到的大多数教程都认为,要预测 JavaScript 强制转换是如何工作这太复杂了,因此建议总是使用===。这些都...

什么是a站、b站、c站、d站、e站、f站、g站、h站、i站、j站、k站、l站、m站、n站?00后的世界我不懂!

A站 AcFun弹幕视频网,简称“A站”,成立于2007年6月,取意于Anime Comic Fun,是中国大陆第一家弹幕视频网站。A站以视频为载体,逐步发展出基于原生内容二次创作的完整生态,拥有高质量互动弹幕,是中国弹幕文化的发源地;拥有大量超粘性的用户群体,产生输出了金坷垃、鬼畜全明星、我的滑板鞋、小苹果等大量网络流行文化,也是中国二次元文化的发源地。 B站 全称“哔哩哔哩(bilibili...

十个摸鱼,哦,不对,是炫酷(可以玩一整天)的网站!!!

文章目录前言正文**1、Kaspersky Cyberthreat real-time map****2、Finding Home****3、Silk – Interactive Generative Art****4、Liquid Particles 3D****5、WINDOWS93****6、Staggering Beauty****7、Ostagram图片生成器网址****8、全历史网址*...

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

毕业5年,我熬夜整理出了这50个优质的电子书网站,吐血推荐!

大家好,我是武哥,最近经常有小伙伴问我要电子书,都什么年代了,还找不到电子书吗?如果要说原因,那就是你还没遇到武哥我(手动滑稽~)!我今天把这么多年我经常看的电子书网站整理一下给大家,基本上能解决大家的需求。不管是在校生还是已经工作了,相信肯定对你有所帮助! 1.鸠摩搜书 首先给大家推荐的网站是:鸠摩搜书 地址:https://www.jiumodiary.com/ 这个网上非常棒,上面有很多优质...

MySQL性能优化(五):为什么查询速度这么慢

前期回顾: MySQL性能优化(一):MySQL架构与核心问题 MySQL性能优化(二):选择优化的数据类型 MySQL性能优化(三):深入理解索引的这点事 MySQL性能优化(四):如何高效正确的使用索引 前面章节我们介绍了如何选择优化的数据类型、如何高效的使用索引,这些对于高性能的MySQL来说是必不可少的。但这些还完全不够,还需要合理的设计查询。如果查询写的很糟糕,即使表结构再合理、索引再...

大厂的 404 页面都长啥样?最后一个笑了...

每天浏览各大网站,难免会碰到404页面啊。你注意过404页面么?猿妹搜罗来了下面这些知名网站的404页面,以供大家欣赏,看看哪个网站更有创意: 正在上传…重新上传取消 腾讯 正在上传…重新上传取消 网易 淘宝 百度 新浪微博 正在上传…重新上传取消 新浪 京东 优酷 腾讯视频 搜...

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

代码注释如此沙雕,会玩还是你们程序员!

某站后端代码被“开源”,同时刷遍全网的,还有代码里的那些神注释。 我们这才知道,原来程序员个个都是段子手;这么多年来,我们也走过了他们的无数套路… 首先,产品经理,是永远永远吐槽不完的!网友的评论也非常扎心,说看这些代码就像在阅读程序员的日记,每一页都写满了对产品经理的恨。 然后,也要发出直击灵魂的质问:你是尊贵的付费大会员吗? 这不禁让人想起之前某音乐app的穷逼Vip,果然,穷逼在哪里都是...

总结了Mybatis,原来知识点也没多少嘛

看完这篇Mybatis,感觉你三天就会用了。

爬虫(101)爬点重口味的

小弟最近在学校无聊的很哪,浏览网页突然看到一张图片,都快流鼻血。。。然后小弟冥思苦想,得干一点有趣的事情python 爬虫库安装https://s.taobao.com/api?_ks...

疫情后北上广深租房价格跌了吗? | Alfred数据室

去年3月份我们发布了《北上广深租房图鉴》(点击阅读),细数了北上广深租房的各种因素对租房价格的影响。一年过去了,在面临新冠疫情的后续影响、城市尚未完全恢复正常运转、学校还没开学等情况下...

面试官给我挖坑:a[i][j] 和 a[j][i] 有什么区别?

点击上方“朱小厮的博客”,选择“设为星标”后台回复&#34;1024&#34;领取公众号专属资料本文以一个简单的程序开头——数组赋值:int LEN = 10000; int[][] ...

在拼多多上班,是一种什么样的体验?我心态崩了呀!

之前有很多读者咨询我:武哥,在拼多多上班是一种什么样的体验?由于一直很忙,没抽出时间来和大家分享。上周末特地花点时间来写了一篇文章,跟大家分享一下拼多多的日常。 1. 倒时差的作息 可能很多小伙伴都听说了,拼多多加班很严重。这怎么说呢?作息上确实和其他公司有点区别,大家知道 996,那么自然也就能理解拼多多的“11 11 6”了。 所以当很多小伙伴早上出门时,他们是这样的: 我们是这样的: 当...

相关热词 c# 按行txt c#怎么扫条形码 c#打包html c# 实现刷新数据 c# 两个自定义控件重叠 c#浮点类型计算 c#.net 中文乱码 c# 时间排序 c# 必备书籍 c#异步网络通信
立即提问