第四天(HttpServlet类)

来源:互联网 发布:淘宝卖家发货怎么打包 编辑:程序博客网 时间:2024/06/10 11:21


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还是POSTString 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
原创粉丝点击