Day 04-2 HttpServlet

来源:互联网 发布:程序员的头像 编辑:程序博客网 时间:2024/04/30 03:23

HttpServlet继承GenericServlet,针对于HTTP协议所定制

在service()方法中直接把ServletRequest和ServletResponse转为HttpServletRequest和HttpServletResponse,并调用了重载的service(HttpServletRequest,HttpServletResponse)

在service(HttpServletRequest,HttpServletResponse)获取了请求方式:request.getMethod() 根据请求方式创建了doGet,doPost

实际开发中,直接继承HttpServlet,并根据请求方式复写doXxx()方法接口

public class LoginServlet extends HttpServlet {        public void doPost(HttpServletRequest request, HttpServletResponse response)              throws ServletException, IOException {          //获取请求方式是GET还是POST          String method = request.getMethod();          System.out.println(method);          }  }  


访问数据库例子

public class LoginServlet extends HttpServlet {        public void doPost(HttpServletRequest request, HttpServletResponse response)              throws ServletException, IOException {                    String username = request.getParameter("username");          String password = request.getParameter("password");          String sql = "SELECT count(id) FROM users WHERE username = ? AND password = ?";                    Connection connection = null;          PreparedStatement statement = null;          ResultSet resultSet = null;                    PrintWriter out = response.getWriter();                        try {                  Class.forName("com.mysql.jdbc.Driver");                  String url = "jdbc:mysql:///dbtes";                  String user = "root";                  String password2 = "123456";                  connection = DriverManager.getConnection(url,user,password2);                                    statement = connection.prepareStatement(sql);                  statement.setString(1, username);                  statement.setString(2, password);                                    resultSet = statement.executeQuery();                                    if(resultSet.next()){                      int count = resultSet.getInt(1);                      if(count > 0){                          out.print("Success");                      }else{                          out.print("Error");                      }                  }              } catch (Exception e) {                  e.printStackTrace();              } finally {                  try {                      if(resultSet != null){                      resultSet.close();                      }                  } catch (SQLException e) {                      e.printStackTrace();                  }                  try {                      if(statement != null){                      statement.close();                      }                  } catch (SQLException e) {                      e.printStackTrace();                  }                  try {                      if(connection != null){                      connection.close();                      }                  } catch (SQLException e) {                      e.printStackTrace();                  }              }                    }    }



0 0
原创粉丝点击