前提・実現したいこと
サーブレットとAjaxの通信を試してみようと思い以下のプログラムを作成しましたがnullしか受け取れません。
試したこと
・js側をtype : "POST"に変更し、java側のコードの下記の様にdoPostに変更してもコンソール上ではなにも表示されませんでした
java
1protected void doPost(HttpServletRequest req, HttpServletResponse res) 2throws ServletException, IOException { 3//パラメータ 4String para1 = req.getParameter("param1"); 5String para2 = req.getParameter("param2"); 6 7//表示 8System.out.println(para1); 9System.out.println(para2); 10}
・ブラウザで"Test2/sampleServlet?param1=ぱらめーた¶m2=123"のように直接打ち込んだ
ところコンソール上に"ぱらめーた"と"123"が出力されました
・下記の様にres.getWriter();を使用して画面出力を試みましたがブラウザ上ではnullnullとしか表示されませんでした。
java
1 2 PrintWriter pw = res.getWriter(); 3 4 pw.print(para1); 5 pw.print(para2);
該当のソースコード
java
1 2 3import java.io.IOException; 4 5import javax.servlet.ServletException; 6import javax.servlet.annotation.WebServlet; 7import javax.servlet.http.HttpServlet; 8import javax.servlet.http.HttpServletRequest; 9import javax.servlet.http.HttpServletResponse; 10 11 12@WebServlet(urlPatterns={"/sampleServlet"}) 13public class sampleServlet extends HttpServlet { 14 15 private static final long serialVersionUID = 1L; 16 17 @Override 18 public void doGet (HttpServletRequest req, HttpServletResponse res) 19 throws ServletException, IOException { 20 21 //パラメータ 22 String para1 = req.getParameter("param1"); 23 String para2 = req.getParameter("param2"); 24 25 //表示 26 System.out.println(para1); 27 System.out.println(para2); 28 } 29}
js
1var sample = function(){ 2 3 //リクエストJSON 4 var request = { 5 param1 : "ぱらめーた", 6 param2 : 123 7 }; 8 9 //ajax通信 10 $.ajax({ 11 type : "GET", 12 url : "Test2/sampleServlet", 13 data : request, 14 async : true, 15success : function(data) { 16 console.log(data); 17 }, 18 }); 19 20 }
構成
Test2
└src
│ └sampleServlet.java
└WebContent
. └sample.js
ここにより詳細な情報を記載してください。
構成に問題があり、javaからajaxを読み込めていないのでしょうか?
tomcatは問題なく動いています。
回答2件
あなたの回答
tips
プレビュー