jQuery_Ajax+Json

来源:互联网 发布:js判断手机横屏竖屏 编辑:程序博客网 时间:2024/06/06 01:40

前端jQuery代码:

<script src="js/jquery-3.2.1.min.js">    </script>     <script>    $(function(){           $("#sendmsg").on('click',function(){//用户点击Send Message按钮发送消息            var c = $("#chatmsg").val();//取得用户输入的消息变量            var jsonStr = [{'chatmsg':c}];            $.ajax({//提交请求给msgServlet处理。                type:"POST",                url:"msgServlet",//在url中传参                contentType:"application/x-www-form-urlencoded;charset=utf-8",                dataType:"json",                //data:"chatMsg="+c,                data:{                    'msg':JSON.stringify(jsonStr)                },                success:function(data){                       var chatArea = document.getElementById("chatArea") ;                     chatArea.value = null ;                     var msgList = data;                     for ( var i=0; i<msgList.length; i++) {                         if ( i == msgList.length-1) {                             chatArea.value += msgList[i] ;                         } else {                             chatArea.value += msgList[i] + "\n" ;                         }                 }            }          });    });    });    </script>

MsgServlet.java

package servlet;import java.io.IOException;import java.io.PrintWriter;import java.net.URLDecoder;import java.util.ArrayList;import java.util.List;import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import net.sf.json.JSONArray;import net.sf.json.JSONObject;import com.bean.Message;public class MsgServlet extends HttpServlet {    public void doGet(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        doPost(request, response) ;    }    public void doPost(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        request.setCharacterEncoding("utf-8");        response.setCharacterEncoding("utf-8");        response.setHeader("cache-control", "no-cache");        response.setContentType("application/json;utf-8");        PrintWriter out = response.getWriter();        HttpSession session=request.getSession();////取得session        ServletContext application=request.getServletContext();//取得application            String sender = (String)session.getAttribute("username");//发送者            String msg = request.getParameter("chatMsg");               String jsonStr = request.getParameter("msg");            JSONArray jsonArray = JSONArray.fromObject(jsonStr);            JSONObject jsonObject;            String content = null;            for(int i=0;i<jsonArray.size();i++){                jsonObject = jsonArray.getJSONObject(i);                 content = (String)jsonObject.getString("chatmsg");                System.out.println(content);            }            Message message = new Message(sender, content) ;                //新建一个Message实例。如果消息列表msgList还未创建,则创建。            if(application.getAttribute("msgList") == null){                List<String> msgList = new ArrayList<String>();                application.setAttribute("msgList", msgList);            }            List<String> msgList = (List<String>)application.getAttribute("msgList");//取得application中的消息列表            msgList.add(message.toString());//将由发送者和消息实例的Message添加到消息列表中//              out.write("success");            JSONArray jsonarray = JSONArray.fromObject(msgList) ;            out.print(jsonarray);    }}