когда я нажимаю на кнопку поиска, метод readWebpage называется ..
Activity.java
public void readWebpage(View view) {
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("http://10.0.2.2:9090/FirstServlet/DataServlet");
webView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String request) {
try {
HttpClient httpclient = new DefaultHttpClient();
String url = "http://10.0.2.2:9090/FirstServlet/changehitlink?link="+request;
Log.i("url",url);
HttpGet httpget = new HttpGet(url);
Log.i("Link is:",request);
HttpResponse response = httpclient.execute(httpget);
HttpEntity entity = response.getEntity();
webView.loadUrl(request);
}catch (Exception e){
e.printStackTrace();
}
return false;
}
});
}
changehitlink.java
import java.io.*;
import java.util.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class changehitlink extends HttpServlet{
private ServletConfig config;
//Setting JSP page
String page="DataPage.jsp";
public void init(ServletConfig config)
throws ServletException{
this.config=config;
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException{
PrintWriter out = response.getWriter();
//Establish connection to MySQL database
String link = request.getParameter("link");
PreparedStatement ps = null;
String connectionURL = "jdbc:mysql://localhost:3306/pmse";
Connection connection=null;
ResultSet rs;
response.setContentType("text/html");
List dataList = new ArrayList();
try {
// Load the database driver
Class.forName("com.mysql.jdbc.Driver");
// Get a Connection to the database
try{
out.println("before connection");
connection = DriverManager.getConnection(connectionURL, "root", "1234");
out.println("After connection");
} catch(SQLException e){
System.out.println("Something went wrong");
}
//Select the data from the database
String sql = "update web_web set hits = hits + 1 where url="+"\""+link+"\""+";";
out.println(sql);
Statement s = connection.createStatement();
s.executeUpdate(sql);
connection.commit();
}catch(Exception e){
System.out.println(e);
}
out.println("<h1>link is:"+link+"<h1>");
}
}
Если я запускаю сервлет один, проверяя параметры вручную, он работает нормально, но когда я запускаю его на андроид-студии, специфическое значение столбца не обновляется в базе данных.
<uses-permission android:name="android.permission.INTERNET"/>
Пожалуйста, помогите по этому вопросу ..