In my project, I have html select file and html text file. I want to show some results that is getting to access database in html text file when html select file option onchange event. To do all of this I wrote this servlet codes which is taking data from access database and send results to jsp page.
package org.solr;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class getValues
*/
@WebServlet("/getValues")
public class getValues extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public getValues() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String salesOrder=request.getParameter("salesOrder");
System.out.println(salesOrder);
try {
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
String db_path="C:\\Users\\ftk1187\\Desktop\\ad\\Test1.accdb";
Connection con=DriverManager.getConnection("jdbc:ucanaccess://"+db_path+";jackcessOpener=CryptCodecOpener","","12345tec");
Statement state=con.createStatement();
ResultSet rs=state.executeQuery("SELECT * FROM tblSO_all WHERE strSO='"+salesOrder+"'");
while(rs.next())
{
String indDate=rs.getString("strDate");
System.out.println(indDate);
request.setAttribute("indDate", indDate);
request.getRequestDispatcher("upload.jsp").forward(request, response);
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
}
In jsp side, I wrote this javascript code
<script>
function strSO(){
var salesOrder=$("#sOrder option:selected").val();
$.ajax({
type:'get',
url:'getValues',
data:'salesOrder='+salesOrder,
dataType:'text/plain',
success:function(){
console.log("success");
}
document.getElementById("indDate").value=<%=request.getAttribute("indDate")%>
});
}
</script>
The servlet running correctly and I'm seeing the results in eclipse's console with sysout. But the result not shown in html text file. So where is the problem?
UPDATE
Here are my eclipse's console and my browser's console.
UPDATE
After Swati's answers, the solution of the problem is like this
String salesOrder=request.getParameter("salesOrder");
try {
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
String db_path="C:\\Users\\ftk1187\\Desktop\\ad\\Test1.accdb";
Connection con=DriverManager.getConnection("jdbc:ucanaccess://"+db_path+";jackcessOpener=CryptCodecOpener","","12345tec");
Statement state=con.createStatement();
ResultSet rs=state.executeQuery("SELECT * FROM tblSO_all WHERE strSO='"+salesOrder+"'");
while(rs.next())
{
String indDate=rs.getString("strDate");
System.out.println(indDate);
response.getWriter().write(indDate);
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
And the script like this
<script>
function salesOrder(){
var salesOrder=$("#sOrder option:selected").val();
$.ajax({
type:'get',
url:'getValues',
data:'salesOrder='+salesOrder,
success:function(data){
console.log("success");
document.getElementById("induction").value=data;
}
});
}
</script>