javaee SpringMVC中json的使用

jsp

html 复制代码
<%--
  Created by IntelliJ IDEA.
  User: 呆萌老师:QQ:2398779723
  Date: 2019/12/6
  Time: 15:55
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
    String baseurl=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath();
    pageContext.setAttribute("baseurl",baseurl);
%>
<html>
<base href="${baseurl}" />
<head>
    <title>Title</title>
    <script src="${baseurl}/static/js/jquery1.11.3.min.js"></script>
    <script src="${baseurl}/static/js/reg.js"></script>
</head>
<body>
<from action="${baseurl}/users/reg" method="post">
    <pre>
    用户名:<input type="text" name="uname" /><span id="s1"></span>
    密码:<input type="password" name="pwd" />
    确认密码:<input type="password" name="repwd" />
    专业:<select id="major" >

         </select>
    <input type="submit" name="sub" value="注册" />
    </pre>
</from>
</body>
</html>

js

javascript 复制代码
$(function(){

    //给文本框做失去焦点事件
    $(":text[name='uname']").blur(function(){

          //1.获得用户名
        var uname=$(this).val();
        //2.通过ajax将用户名传到服务器端 判断 将结果返回
        $.get("http://localhost:8080/TestSpringMVC4/users/checkUname?uname="+uname,function(msg){

            //3.处理返回的结果
            if(msg=="exists")
                $("#s1").html("已存在");
            else
                $("#s1").html("可以使用");

        })
    })

    //加载所有的专业信息
    $("#major").click(function(){

        //通过ajax到服务器端取回所有的专业信息
        $.getJSON("http://localhost:8080/TestSpringMVC4/users/getMajorList2",function(arr){

            //清除之前的option
            $("#major").empty();

            $.each(arr,function(k,v){

                //返回的数据 组装成option添加到select中
                var option=$("<option></option>");

                option.val(v.id);

                option.html(v.name);

                $("#major").append(option);

            })

        })

    })

})

java

java 复制代码
package com.test.controller;

import com.alibaba.fastjson.JSON;
import com.test.pojo.Major;
import com.test.pojo.Users;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.ArrayList;
import java.util.List;

@Controller
@RequestMapping("/users")
public class UsersController {

    @RequestMapping("/loginUi")
    public String loginUi()
    {
        return "login";
    }

    @RequestMapping("/checkLogin")
    public String checkLogin(Users user, HttpServletRequest request)
    {
        if(user.getUname().equals("daimenglaoshi") && user.getPwd().equals("123"))
        {
            //存入session
            HttpSession session= request.getSession();

            session.setAttribute("loginUser",user);

            //重定向
            return "redirect:/index.jsp";

        }
        else
            return "login";

    }

    @RequestMapping("/regUi")
    public String regUi()
    {
        return "reg";
    }

    @RequestMapping("/checkUname")
    //返回响应体(响应的内容)  不做转发
    @ResponseBody
    public String checkUname(String uname)
    {
        if(uname.equals("daimenglaoshi"))
            return "exists";
        else
            return "not exists";
    }

    @RequestMapping("/getMajorList")
    @ResponseBody
    //框架会帮你转换成json字符串的
    public List<Major> getMajorList()
    {

        List<Major> majorList=new ArrayList<Major>();

        System.out.println("2222");

        majorList.add(new Major(1,"aaa"));

        majorList.add(new Major(2,"bb"));

        return majorList;
    }

    @RequestMapping(value="/getMajorList2",produces = "text/html;charset=utf-8")
    @ResponseBody
    public String getMajorList2()
    {

        List<Major> majorList=new ArrayList<Major>();

        majorList.add(new Major(1,"计算机"));

        majorList.add(new Major(2,"英语"));

        return JSON.toJSONString(majorList);
    }





}

项目结构

相关推荐
bigcarp几秒前
requests 中data=xxx、json=xxx、params=xxx 分别什么时候用
json
Bonne journée9 分钟前
‌在Python中,print(f‘‘)是什么?
java·开发语言·python
2402_8575893629 分钟前
新闻推荐系统:Spring Boot框架详解
java·spring boot·后端
2401_8576226631 分钟前
新闻推荐系统:Spring Boot的可扩展性
java·spring boot·后端
小懒编程日记36 分钟前
【数据结构与算法】B树
java·数据结构·b树·算法
Y_3_71 小时前
【回溯数独】有效的数独(medium)& 解数独(hard)
java·数据结构·windows·算法·dfs·回溯
RangoLei_Lzs1 小时前
C++模版SFIANE应用踩的一个小坑
java·开发语言·ui
北极无雪1 小时前
Spring源码学习(拓展篇):SpringMVC中的异常处理
java·开发语言·数据库·学习·spring·servlet
VXbishe1 小时前
(附源码)基于springboot的“我来找房”微信小程序的设计与实现-计算机毕设 23157
java·python·微信小程序·node.js·c#·php·课程设计
YONG823_API2 小时前
电商平台数据批量获取自动抓取的实现方法分享(API)
java·大数据·开发语言·数据库·爬虫·网络爬虫