Ich versuche, Servlet mit Ajax aufzurufen, aber die URL in $ .ajax() leitet mich nicht zum Servlet um.
Können Sie alle einen Blick darauf werfen und mir sagen, warum Servlet nicht aufgerufen wird.Servlets können nicht mit Ajax aufgerufen werden.
index.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ page import="model.MongoDBJDBC" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.List" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<link rel="stylesheet" type="text/css" href="css/stylesheet.css">
\t <script src="http://code.jquery.com/jquery-1.10.2.js"
\t type="text/javascript"></script>
\t <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
\t <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
\t <script type="text/javascript">
\t google.charts.load('current', {
\t \t packages : [ 'corechart' ]
\t });
\t </script>
<title>Servlets Selection Menu</title>
</head>
<body>
\t <div id="Servletssframe" style="width:200px; height:100px; margin-left:5px ;">
\t \t <form method="get" action="ReqFilter" id="myform">
\t \t \t <input type="radio" value="Servlets1" name="servlet" id="Servlets1"><label>Servlets 1</label><br>
\t \t \t <input type="radio" value="Servlets2" name="servlet" id="Servlets2"><label>Servlets 2</label><br>
\t \t \t <input type="radio" value="Servlets3" name="servlet" id="Servlets3"><label>Servlets 3</label><br>
\t \t \t <input type="radio" value="Servlets4" name="servlet" id="Servlets4"><label>Servlets 4</label><br>
\t \t \t <input type="radio" value="Servlets5" name="servlet" id="Servlets5"><label>Servlets 5</label><br>
\t \t \t <input type="button" value="submit" id="button">
\t \t </form>
\t </div>
</body>
\t
<div id="container" style="width: 700px; height:700px; margin: 0 auto"></div>
<script type="text/javascript">
\t $(document).ready(function() { \t \t
$('#button').click(function() {
\t var servlet=$('input[type=radio][name=servlet]:checked').attr('id');
\t //console.log(servlet);
\t
\t $.ajax({
//url:'/ServletsUsingAjax/RequestFilter?servlet='+servlet,
\t
\t \t \t \t url:'/ServletsUsingAjax3/RequestFilter?servlet='+servlet,
type:'get',
/* success:function()
{
\t alert(this.url);
},
*/
\t
}
);
});
});
\t
</script>
ReqFilter.java
package control;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//@WebServlet("/RequestFilter")
public class ReqFilter extends HttpServlet {
public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException
{
response.setContentType("text/html");
//response.setContentType("text/plain;charset=UTF-8");
RequestDispatcher dispatcher;
String value=request.getParameter("servlet").trim();
PrintWriter out=response.getWriter();
out.println("This"+value);
if(value.equals("Servlets1"))
{
dispatcher=request.getRequestDispatcher("index.jsp");
dispatcher.include(request,response);
out.println("<script type='text/javascript'>");
out.println("console.log("+value+")");
out.println("$('#container').load('textfile.jsp')");
//out.println("google.charts.setOnLoadCallback(drawChart);");
out.println("</script>");
}
if(value.equals("Servlets2"))
{
dispatcher=request.getRequestDispatcher("index.jsp");
dispatcher.include(request,response);
out.println("<script type='text/javascript'>");
//out.println("<div id='container2' style='width: 700px; height:700px; margin: 0 auto'></div>");
out.println("$('#container').load('textfile2.jsp')");
//out.println("google.charts.setOnLoadCallback(drawChart);");
out.println("</script>");
}
if(value.equals("Servlets3"))
{
dispatcher=request.getRequestDispatcher("index.jsp");
dispatcher.include(request,response);
out.println("<script type='text/javascript'>");
out.println("Nothing to dipsplay");
out.println("</script>");
}
}
}
web.xml
<web-app>
<servlet>
<servlet-name>ServletsUsingAjax</servlet-name>
<servlet-class>control.ReqFilter</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletsUsingAjax</servlet-name>
<url-pattern>/ReqFilter</url-pattern>
</servlet-mapping>
</web-app>
ich das versucht, es nicht @alfrescolearner funktioniert. – user5501265
Haben Sie eine andere Lösung? – user5501265