首页 > spring MVC+HTML5APP(mui)

spring MVC+HTML5APP(mui)

app端Ajax代码

mui.ajax("http://192.168.1.6:8080/Api-wbe/App/login", {
                                data: {
                                    name: name,
                                    pwd: pwd
                                },
                                dataType: 'json', //服务器返回json格式数据
                                type: 'POST', //HTTP请求类型
                                timeout: 10000, //超时时间设置为10秒;
                                success: function(data) {
                                    console.log(type);
                                },
                                error:function (xhr, type, errorThrown) {
                                    //异常处理;
                                    if(type=="timeout"){
                                        alert("网络超时! \n "+errorThrown);
                                    }else{
                                        console.log(errorThrown);
                                    }
                                    
                                }

                    });

JAVA接口代码

 @RequestMapping(value = "/login", method = RequestMethod.POST)
    @ResponseBody
    JSONObject login(@RequestBody JSONObject code) {
        log.info("This is App Login (POST) ");
        CryptoUtils cryptoUtils = new CryptoUtils();
        JSONObject object = new JSONObject();
        String msg = "";
        String username = code.getString("name");
        String userpwd = code.getString("pwd");
        adminModer.setAdmin_name(username);
        adminModer.setAdmin_password(userpwd);

junit测试无问题
发布到tomcat
报错:
APP:Unsupported Media Type
tomcat日志:

六月 06, 2016 4:15:05 下午 org.apache.catalina.core.StandardService startInternal
信息: Starting service Catalina
六月 06, 2016 4:15:05 下午 org.apache.catalina.core.StandardEngine startInternal
信息: Starting Servlet Engine: Apache Tomcat/7.0.67
六月 06, 2016 4:15:05 下午 org.apache.catalina.startup.HostConfig deployWAR
信息: Deploying web application archive D:\Code_Monkey\Tomcat\webapps\Api-wbe.war
六月 06, 2016 4:15:05 下午 org.apache.catalina.loader.WebappClassLoaderBase validateJarFile
信息: validateJarFile(D:\Code_Monkey\Tomcat\webapps\Api-wbe\WEB-INF\lib\javax.servlet-api-3.1.0.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javax/servlet/Servlet.class
六月 06, 2016 4:15:07 下午 org.apache.catalina.startup.HostConfig deployWAR
信息: Deployment of web application archive D:\Code_Monkey\Tomcat\webapps\Api-wbe.war has finished in 2,523 ms
六月 06, 2016 4:15:07 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory D:\Code_Monkey\Tomcat\webapps\docs
六月 06, 2016 4:15:07 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory D:\Code_Monkey\Tomcat\webapps\docs has finished in 25 ms
六月 06, 2016 4:15:07 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory D:\Code_Monkey\Tomcat\webapps\examples
六月 06, 2016 4:15:08 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory D:\Code_Monkey\Tomcat\webapps\examples has finished in 121 ms
六月 06, 2016 4:15:08 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory D:\Code_Monkey\Tomcat\webapps\host-manager
六月 06, 2016 4:15:08 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory D:\Code_Monkey\Tomcat\webapps\host-manager has finished in 29 ms
六月 06, 2016 4:15:08 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory D:\Code_Monkey\Tomcat\webapps\manager
六月 06, 2016 4:15:08 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory D:\Code_Monkey\Tomcat\webapps\manager has finished in 26 ms
六月 06, 2016 4:15:08 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory D:\Code_Monkey\Tomcat\webapps\ROOT
六月 06, 2016 4:15:08 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory D:\Code_Monkey\Tomcat\webapps\ROOT has finished in 34 ms
六月 06, 2016 4:15:08 下午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["http-bio-8080"]
六月 06, 2016 4:15:08 下午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["ajp-bio-8009"]
六月 06, 2016 4:15:08 下午 org.apache.catalina.startup.Catalina start
信息: Server startup in 2797 ms

在浏览器里看一下发送的POST请求,很可能不是JSON格式的,而是普通的表单格式,既请求头的Content-Type为 "application/x-www-form-urlencoded"

如果这样的话,Spring在接受参数时应该用

JSONObject login(@RequestParam String name, @RequestParam String pwd);

帮你看了一下mui的文档
我想你在mui.ajax的参数对象里加一个属性

headers:{'Content-Type','application/json'}

然后Spring的部分不用改,应该也能解决问题。


信息: validateJarFile(D:\Code_Monkey\Tomcat\webapps\Api-wbe\WEB-INF\lib\javax.servlet-api-3.1.0.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javax/servlet/Servlet.class
六月 06, 2016 4:15:07 下午 org.apache.catalina.startup.HostConfig deployWAR

tomcat已经自带了servlet-api 所以你的项目里面不能再有这个jar,否则冲突

【热门文章】
【热门文章】