问题遇到的现象和发生背景
部署好 tomcat8.0.42 和相关 jar包(dbutils-1.3, druid-1.1.10, mysql-connector-java-5.1.37),
测试过单独使用JDBC向数据库添加数据和单独运行 tomcat访问浏览器表单并返回表单内容都是可以的,但是将两者结合在一起就报错。
问题相关代码
//这里接收从浏览器返回的数据代码。
public class AddServlet extends HttpServlet {
// 获取客户端通过 Post形式 发送的数据
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//设置字符集 解决 请求乱码
req.setCharacterEncoding("UTF-8");
//接收到的请求均为 String类型
String fname = req.getParameter("fname");
String priceStr = req.getParameter("price");
Integer price = Integer.parseInt(priceStr);
String fcountStr = req.getParameter("fcount");
Integer fcount = Integer.parseInt(fcountStr);
String remark = req.getParameter("remark");
System.out.println("fname =" + fname);
System.out.println("price =" + price);
System.out.println("fcount =" + fcount);
System.out.println("remark =" + remark);
FruitService fruitService = new FruitService();**//报错位置**
boolean loop = fruitService.addFruit(fname, price, fcount, remark);
System.out.println(loop? "添加成功" : "添加失败");
}
}
运行结果及报错内容
//java.io.FileNotFoundException: src\druid.properties (系统找不到指定的路径。)
at java.io.FileInputStream.open0(Native Method)
我的解答思路和尝试过的方法
//这里是测试JDBC的代码,就是单纯数据添加。
public class test {
@Test
public void Test() {
FruitService fruitService = new FruitService();
String fname = "苹果";
double price = 10;
int fcount = 100;
String remark = "好吃";
boolean loop = fruitService.addFruit(fname, price, fcount, remark);
System.out.println(loop? "添加成功" : "添加失败");
}
}
测试成功结果
测试类和servlet类在同一个包里,如果测试类可以访问到文件,调用同样的方法为啥servlet就访问不到呢?