为啥我的servlet链接不了数据库?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥我的servlet链接不了数据库?相关的知识,希望对你有一定的参考价值。
package cn.itcast.web.servlet;
import cn.itcast.domain.User;
import cn.itcast.service.UserService;
import cn.itcast.service.impl.UserServiceImpl;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
@WebServlet("/userListServlet")
public class UserListServlet extends HttpServlet
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
//1.调用UserService完成查询
UserService service = new UserServiceImpl();
List<User> users = service.findAll();
//2.将list存在request域中
request.setAttribute("users",users);
//3.转发到list.jsp中
request.getRequestDispatcher("/list.jsp").forward(request,response);
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
this.doPost(request, response);
页面展示不了
UserService service = new UserServiceImpl();
List<User> users = service.findAll();
在UserListServlet 方法外
使用@Autowired private UserService userService;
或者@Resource private UserService userService;
然后启动项目才可以引入service,因为spring构建bean并注入是在项目启动时注入,当前引入的,无法通过new去声明service; 参考技术B 一般来说,使用new是不会连接数据库的,需要相当的初始化操作,所以一般是spring帮你构建,然后注入的。 除非你的userService有特殊的操作。 参考技术C 看代码以及写法估计是UserServiceImpl用法不对,估计是要通过注入的方式而你是直接new 的。 参考技术D service.findAll();代码贴出来,还有你的数据库连接类的代码看下 第5个回答 2021-07-29 报错了吗 有log吗
你这代码看不出数据库的问题
idea中为啥删掉注解,jsp页面仍然能找到Servlet
参考技术A 在idea菜单的run中有相应的选项,里面有很多的选项,比如application,applet,junit,webapp,选择webapp,设置一下tomcat4.0的配置,将你的jsp和servlet的目录设置在webapplication的搜索目录中,这样你就可以调试你的servlet和jsp了以上是关于为啥我的servlet链接不了数据库?的主要内容,如果未能解决你的问题,请参考以下文章
easymock的数据为啥必须用get才能获取到,用post就不行?