IDEA中的servlet不能正常工作,没有输出提示信息
IDEA中编写登录界面发现loginservlet(继承于HTTPServlet)类中的输出不了任何信息:
package com.bubaiwantong.servlet;
import com.bubaiwantong.mapper.UserMapper;
import com.bubaiwantong.pojo.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
@WebServlet("/loginServlet")
public class LoginServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
User user = userMapper.select(username, password);
System.out.println(user)
sqlSession.close();
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doGet(request,response);
}
}
可以看到作者在doGet()方法中的写了许多代码,其中主要是想看System.out.println(user);但是一直输出不了信息,花了很久的时间在查看错误。其实这段代码是没有错误的,这是因为target中已经有编译过的程序,再次点击运行的时候有时候不会重新生成,会根据以前你编译好的代码运行,所以就不会正常工作了。这个时候我们需要将这个target目录进行删除,然后重新进行编译,一般就可以正常工作啦。
删除target目录之后,重新编译,完美解决之前的问题,可以正常工作啦。已经有提示信息出来啦