从servlet调用Java函数,函数赢得';不执行
我正在用JSP和Java(servlet)创建一个简单的Maven web应用程序。我的webapp的功能是通过DB搜索在其中注册的人员。它根据ID或名称进行搜索。因此,我有一个JSP,它带有一个表单,可以将数据发送到我的servlet,在servlet中,我从一个Java类调用一个函数,该类创建DB连接并获取数据 但是我提到这个函数从来没有调用过或者其他什么,我不知道怎么做。有人能帮忙吗从servlet调用Java函数,函数赢得';不执行,java,servlets,Java,Servlets,我正在用JSP和Java(servlet)创建一个简单的Maven web应用程序。我的webapp的功能是通过DB搜索在其中注册的人员。它根据ID或名称进行搜索。因此,我有一个JSP,它带有一个表单,可以将数据发送到我的servlet,在servlet中,我从一个Java类调用一个函数,该类创建DB连接并获取数据 但是我提到这个函数从来没有调用过或者其他什么,我不知道怎么做。有人能帮忙吗 web.xml: <!DOCTYPE web-app PUBLIC "-//Sun Microsy
web.xml
:
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>TestServlet</servlet-name>
<display-name>TestServlet</display-name>
<description></description>
<servlet-class>mvnproject.servlet.TestServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TestServlet</servlet-name>
<url-pattern>/TestServlet</url-pattern>
</servlet-mapping>
</web-app>
Java功能:
import java.sql.*;
public class Functions {
public void dbConn(String nVal, String inpVal){
System.out.println("Running function...");
if(nVal != null || inpVal != null){
String sqlSerch;
if(nVal.equals("name")){
sqlSerch = "ID, aNaam FROM profiles WHERE naam = " + nVal;
}else{
sqlSerch = "naam, aNaam FROM profiles WHERE ID = " + nVal;
}
//driver / db path
final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
final String DB_URL = "jdbc:mysql://localhost/profile";
//DB user&password
final String USER = "root";
final String PASS = "Ciber2015!";
//declare con & sql var
Connection conn = null;
Statement stmt = null;
//register jdbc driver
try{
Class.forName(JDBC_DRIVER);
//make a connection
conn = DriverManager.getConnection(DB_URL,USER,PASS);
//SQL Statement
stmt = conn.createStatement();
String sql = "SELECT"+ sqlSerch;
ResultSet rs = stmt.executeQuery(sql);
//Declareer variablen met data uit db
int id = rs.getInt("id");
String naam = rs.getString("naam");
System.out.println(id + naam);
}catch(Exception e){
System.out.println("Eception");
}
System.out.println(" - " + nVal + " - " + inpVal);
}
}
如果我做错了什么,请告诉我。那么对于那些感兴趣的人, 问题不是我的代码,而是eclipse。 在保存新项目时,它正在运行我项目的旧版本。
感谢您抽出宝贵的时间,温柔的(wo)男人完整的servlet代码,包括web.xml代码片段?请查看!您的表单操作必须映射到您的servlet在den web.xml中注册的url模式。您在控制台中看到
调用db conn函数
和脚本完成
消息,我是否理解正确,但是没有正在运行的函数…
在中间?没有打印调用db函数以及它之后的所有内容没有显示在console@swinkler我的servlet被称为“我敢肯定,糟糕!这就是我为JRebel付费的原因;-)是的,我不想付钱:哈哈,我只是一个学生,我只是想给出对我有用的“解决方案”,但不会再发生了。
package mvnproject.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.catalina.connector.Request;
/**
* Servlet implementation class TestServlet
*/
public class TestServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public TestServlet() {
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
response.getWriter().append("Served at: ").append(request.getContextPath());
Functions f = new Functions();
String name = request.getParameter("serchOn");
String input = request.getParameter("input");
System.out.println(" " + name + " " + input);
System.out.println("calling db conn function");
f.dbConn(name, input);
System.out.println("Script completed");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}
import java.sql.*;
public class Functions {
public void dbConn(String nVal, String inpVal){
System.out.println("Running function...");
if(nVal != null || inpVal != null){
String sqlSerch;
if(nVal.equals("name")){
sqlSerch = "ID, aNaam FROM profiles WHERE naam = " + nVal;
}else{
sqlSerch = "naam, aNaam FROM profiles WHERE ID = " + nVal;
}
//driver / db path
final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
final String DB_URL = "jdbc:mysql://localhost/profile";
//DB user&password
final String USER = "root";
final String PASS = "Ciber2015!";
//declare con & sql var
Connection conn = null;
Statement stmt = null;
//register jdbc driver
try{
Class.forName(JDBC_DRIVER);
//make a connection
conn = DriverManager.getConnection(DB_URL,USER,PASS);
//SQL Statement
stmt = conn.createStatement();
String sql = "SELECT"+ sqlSerch;
ResultSet rs = stmt.executeQuery(sql);
//Declareer variablen met data uit db
int id = rs.getInt("id");
String naam = rs.getString("naam");
System.out.println(id + naam);
}catch(Exception e){
System.out.println("Eception");
}
System.out.println(" - " + nVal + " - " + inpVal);
}
}