[英]Json java servlet
我正在為學校作業構建一個servlet,作業是為帶有強制門戶(servlet)的飛機構建一個訪問點
結構已建立,但與數據庫的連接是一個很大的問號。
我們有兩個頁面:
在第一頁上,有一個文本字段,用戶必須在其中填寫他或她的票證編號。
在這里第1頁。
PrintWriter out = response.getWriter();
out.println("<!doctype html>");
out.println("<html lang=\"en-US\">");
out.println("<head>");
out.println("<meta charset=\"utf-8\">");
out.println("<title>Login</title>");
out.println("<link rel=\"stylesheet\" href=\"css/style.css\">");
out.println("</head>");
out.println("<body background=\"images/bg.jpg\">");
out.println("<section>");
out.println("<div id=\"login\">");
out.println("<img class=\"headerImage\" src=\"images/corendon.png\"/>");
out.println("<img class=\"ticketIcon\" src=\"images/ticketIcon.png\"/>");
out.println("<h2></h2>");
out.println("<form name=\"myForm\" action=\"loginPage\" method=\"get\" onSubmit=\"event.preventDefault(); redirect(); return false;\">");
out.println("<fieldset>");
out.println("<p><label for=\"upper\"></label></p>");
out.println("<div>");
out.println("<p><input id=\"ticketnumber\" placeholder=\"ticketnumber..\" name=\"ticketnummer\"/></p>");
out.println("</div>");
out.println("<input type=\"checkbox\" id=\"cb1\" name=\"cb1\"/>");
out.println("<label for=\"cb1\" id=\"cb1text\">Ik accepteer de voorwaarden</label>");
out.println("<p><input type=\"submit\" value=\"Go Online\"></p>");
out.println("<p><span id=\"validation\"></span></p>");
out.println("</fieldset>");
out.println("</form>");
out.println("</div>");
out.println("</section>");
out.println("<script type=text/javascript>");
out.println("function redirect(){");
out.println("var x = document.myForm.ticketnummer.value;");
out.println("var ticketnummer = \"1234\";");
out.println("if ((cb1.checked == 1)&&(x == ticketnummer)){");
out.println("window.location=\"loginPage?ticketnummer=\" + x");
out.println("}else {");
out.println("document.getElementById('validation').innerHTML=\"login onsuccesvol\";");
out.println("return false;");
out.println("}");
out.println("}");
out.println("</script>");
out.println("</body>");
out.println("</html>");
在這里第2頁:
PrintWriter out = response.getWriter();
String ticketNumber = request.getParameter("ticketnummer");
// ip address
String ipAddress = request.getHeader("X-FORWARDED-FOR");
if (ipAddress == null)
{
ipAddress = request.getRemoteAddr();
};
out.println("<!doctype html>");
out.println("<html lang=\"en-US\">");
out.println("<head>");
out.println("<meta charset=\"utf-8\">");
out.println("<title>LoginAccepted</title>");
out.println("<link rel=\"stylesheet\" href=\"css/styleLoginPage.css\">");
out.println("</head>");
out.println("<body background=\"images/bg.jpg\">");
out.println("<section>");
out.println("<div id=\"login\">");
out.println("<img class=\"headerImage\" src=\"images/corendon.png\"/>");
out.println("<h2></h2>");
out.println("<form>");
out.println("<fieldset>");
out.println("<p><label for=\"upper\"></label></p>");
out.println("<div id=\"welcome\">");
out.println("U bent nu ingelogd in het netwerk!");
out.println("Corendon wenst u een fijne vlucht en");
out.println("veel internetplezier toe.");
out.println("<img class=\"loginImage\" src=\"images/loginImage.png\"/>");
out.println("</div>");
out.println("</fieldset>");
out.println("</form>");
out.println("</div> <!-- end login -->");
out.println("</section>");
out.println("</body>");
out.println("</html>");
if (ticketNumber.equals("1234")) {
try {
Runtime rt = Runtime.getRuntime ();
Process process = rt.exec ("/var/apache-tomcat-8.0.23/unblock.sh " + ipAddress);
InputStreamReader reader =
new InputStreamReader ( process.getInputStream () );
BufferedReader buf_reader =
new BufferedReader ( reader );
String line;
while ((line = buf_reader.readLine ()) != null)
System.out.println (line);
}
catch (IOException e) {
System.out.println (e);
}
}
我的問題:如何在這些腳本中添加json查詢?
例如:
{
"function":"List",
"teamId": "IN[key]",
"teamKey":"[key]",
"requestId": "0"
}
反饋將是:
{"requestId":"0", "result":"0", "passengers":[{"uni":"d565c05f-596b-46a2-b302-a055148b8fb1","surName":"Boogaard","firstName":"Chiel"},{"uni":"e431fc48-c2bf-4e84-a7c6-414e5b86dff9","surName":"","firstName":""},{"uni":"1c7e3cee-b445-45ab-9397-cdc7c80370c8","surName":"Wolf","firstName":"Jesse"},{"uni":"22ad0d5c-698e-4711-9b91-e21bf9d6e932","surName":"Hansali","firstName":"Amin"}]}
和機票號請求:
{
"function":"List",
"teamId": "IN103-1",
"teamKey": "c2f590a4-abab-4e73-b65f-1aef785c6c75",
"requestId" : "0"
}
和反饋:
{"requestId":"0", "result":"0", "tickets":[{"uni":"e092058c-da83-4970-829a-a56a516fd6a3","usedInternet":"0","uniPassenger":"e431fc48-c2bf-4e84-a7c6-414e5b86dff9","uniFlight":"719d922c-e38d-4aac-afe2-4a36ba900865","ticketNumber":"1234567890"}]}
如何使用json與數據庫檢查servlet中的已填寫票證號? 順便說一句我不能使用PHP或ASP
您確實搞亂了項目。 請遵循:1.在Web文件夾中創建jsp文件-有您的請求和響應參數。 在此處自由使用html。 如果有問題,請在項目中包含jsp-api.jar。
在前端項目中使用JQuery。 從互聯網上有大量副本的任何地方下載jquery-僅下載其中一個。 在上述jsp中包含jquery.js文件。
打開腳本標簽,然后編寫:
函數queryData(your_query_object){
$就({
url: 'some_servlet',
type: 'GET',
data: your_query_object,
success: function(response){
alert(response);
},
error: function(reason){
alert(reason);
}
});
}
然后使用查詢對象調用該函數:
queryData(queryObject);
通過調用此函數,您正在將http請求發送到某些servlet。 和處理請求一樣,在通常情況下-參數名稱就像放在json查詢對象中一樣。 您的查詢對象是
{“ function”:“ List”,“ teamId”:“ IN103-1”,“ teamKey”:“ c2f590a4-abab-4e73-b65f-1aef785c6c75”,“ requestId”:“ 0”}
因此,像這樣在servlet中獲取這些值:
用request.getParameter( “功能”);
我想你知道javascript,也知道http規則; 希望您了解了servlet映射的完成方式。 如果沒有,則應該使用Java和javascript閱讀有關webapp的內容。
還應考慮沒有人為您做功課。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.