Servlet | 连接数据库、使用IDEA工具开发Servlet
✅作者简介:一位材料转码农的选手,希望一起努力,一起进步!
📃个人主页:@每天都要敲代码的个人主页
🔥系列专栏:Web后端 | Servlet
💬推荐一款模拟面试、刷题神器,从基础到大厂面试题👉点击跳转刷题网站进行注册学习
一:servlet中编写JDBC程序连接数据库
二:使用IDEA工具开发Servlet
结束语
一:servlet中编写JDBC程序连接数据库
承接上文,我们知道javaweb程序员只需要编写Servlet接口的实现类,然后将其注册到web.xml文件中即可。所以我们不妨在创建一个ConnectJDBC类,用来连接MySQL数据库,在service(ServletRequest request,ServletResponse response)方法中进行JDBC代码的编写即可:
第一步:实现Servlet接口,在service()方法中编写JDBC代码
package com.bjpowernode.servlet;import jakarta.servlet.Servlet;import jakarta.servlet.ServletException;import jakarta.servlet.ServletRequest;import jakarta.servlet.ServletResponse;import jakarta.servlet.ServletConfig;import java.io.IOException;import java.io.PrintWriter;import java.sql.*;public class ConnectJDBC implements Servlet{// 5个方法public void init(ServletConfig config) throws ServletException{}public void service(ServletRequest request,ServletResponse response)throws ServletException , IOException{// 设置识别代码的类型response.setContentType("text/html"); // 设置打印到浏览器上PrintWriter out = response.getWriter();// 编写JDBC代码,进行链接数据库代码的编写Connection con = null;PreparedStatement ps = null;ResultSet rs = null;try { //1、注册驱动 Class.forName("com.mysql.jdbc.Driver"); //2、获取连接String url = "jdbc:mysql://localhost:3306/bjpowernode";String username = "root";String password = "123"; con = DriverManager.getConnection(url,username,password); //3、获取预编译的数据库操作对象String sql = "select empno,ename,sal from emp"; ps = con.prepareStatement(sql); //4、执行sql rs = ps.executeQuery(); //5、处理查询结果集 while(rs.next()){ //tru表示有数据 //取数据,getString(列的下标)String empno = rs.getString("empno"); String ename = rs.getString("ename"); String sal = rs.getString("sal"); System.out.println(empno+","+ename+","+sal);// 在浏览器上进行打印out.print(empno+","+ename+","+sal+"
"); } } catch (Exception e) { e.printStackTrace(); }finally { //6、释放资源 if (rs != null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if (ps != null) { try { ps.close(); } catch (SQLException e) { e.printStackTrace(); } } if (con != null) { try { con.close(); } catch (SQLException e) { e.printStackTrace(); } } }}public void destroy(){}public String getServletInfo(){return "";}public ServletConfig getServletConfig(){return null;}}
第二步:进行编译通过后,把.class文件放到classes中;然后进行配置文件web.xml的更改
zl-ghcom.bjpowernode.servlet.HelloServletzl-gh/Hellojdbccom.bjpowernode.servlet.ConnectJDBCjdbc/Connection
第三步:因为我们连接了数据库,所以需要数据库的驱动;把MySQL的jar包放入lib里面
第四步:先startup启动Tomcat服务器,然后访问我们的Web应用:http://127.0.0.1:8080/crm/Connection ;我们就设置让它在控制台和浏览器上都打印
当然也可以通过超链接的方式进行访问,修改index.html代码:
index page Hello Servlet
ConnectJDBC
在Servlet中连接数据库,总结:
(1)Servlet是Java程序,所以在Servlet中完全可以编写JDBC代码连接数据库。
(2)在一个webapp中去连接数据库,需要将驱动jar包放到WEB-INF/lib目录下。(com.mysql.jdbc.Driver 这个类就在驱动.jar包当中)
二:使用IDEA工具开发Servlet
使用IDEA集成开发工具开发Servlet
第一步:New Project(先创建一个Empty Project【空工程】,然后在空工程下新建Module【模块】,也可以直接新建非空的Project),这个Empty Project起名为:javaweb(只是一个名字,一般情况下新建的Project的名字最好和目录的名字一致)
第二步:新建模块(File --> new --> Module...)
这里就先新建一个普通的JavaSE模块(这里先不要新建Java Enterprise模块)
这个Module自动会被放在javaweb的project下面。
这个Module起名:servlet01
第三步:让Module变成JavaEE的模块(让Module变成webapp的模块,符合webapp规范,符合Servlet规范的Module)
在Module上点击右键:Add Framework Support...(添加框架支持)
在弹出的窗口中,选择Web Application(选择的是webapp的支持)
选择了这个webapp的支持之后,IDEA会自动给你生成一个符合Servlet规范的webpp目录结构。
重点注意:在IDEA工具中根据Web Application模板生成的目录中有一个web目录,这个目录就代表webapp的根
第四步(非必须):根据Web Application生成的资源中有index.jsp文件,还没有学,可以暂且先删除这个index.jsp文件。
第五步:编写Servlet(StudentServlet)
class StudentServlet implements Servlet(com.bjpowernode.javaweb.servlet包下的);会报错,因为JDK中没有Servlet,它是属于JavaEE的,所以我们需要导入jar包!
这个时候发现Servlet.class文件没有。怎么办?将CATALINA_HOME/lib/servlet-api.jar和jsp-api.jar这两个jar包添加到classpath当中(这里的classpath说的是IDEA的classpath)
File --> Project Structrue(工程结构) --> Modules --> + 加号 --> Add JARS....(目前只加进去连那两个jar包,不需要把整个库都加进去)
实现jakarta.servlet.Servlet接口中的5个方法。
第六步:在Servlet当中的service方法中编写业务代码(这里就是连接数据库了)
package com.bjpowernode.javaweb.servlet;import jakarta.servlet.*;import java.io.IOException;import java.io.PrintWriter;import java.net.ConnectException;import java.sql.*;/** * @Author:朗朗乾坤 * @Package:com.bjpowernode.javaweb.servlet * @Project:JavaWeb * @name:StudentServlet * @Date:2022/10/13 17:45 */public class StudentServlet implements Servlet { @Override public void init(ServletConfig servletConfig) throws ServletException { } @Override public ServletConfig getServletConfig() { return null; } @Override public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException { // 设置响应的内容类型 response.setContentType("text/html"); // 在浏览器上进行打印 PrintWriter out = response.getWriter(); // 连接数据库 Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try { // 注册驱动 Class.forName("com.mysql.jdbc.Driver"); // 获取连接 String url = "jdbc:mysql://localhost:3306/bjpowernode"; String username = "root"; String password = "123"; conn = DriverManager.getConnection(url,username,password); // 获取数据库预编译对象 String sql = "select empno,ename,sal from emp"; ps = conn.prepareStatement(sql); // 执行sql rs = ps.executeQuery(); // 处理查询结果集 while(rs.next()){ System.out.println(rs.getString("empno")); System.out.println(rs.getString("ename")); System.out.println(rs.getString("sal")); // 在浏览器上打印 out.print("empno"+","+"ename"+","+"sal"+"
"); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); }finally { // 释放资源 if (rs != null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if (ps != null) { try { ps.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } @Override public String getServletInfo() { return null; } @Override public void destroy() { }}
第七步:在WEB-INF目录下新建了一个子目录:lib(这个目录名必须是全部小写的lib),并且将连接数据库的驱动jar包放到lib目录下。 直接复制粘贴即可:
第八步:在web.xml文件中完成StudentServlet类的注册。(请求路径和Servlet之间对应起来)
StudentServlet com.bjpowernode.javaweb.servlet.StudentServlet StudentServlet /servlet/student
第九步:给一个html页面,在HTML页面中编写一个超链接,用户点击这个超链接,发送请求,Tomcat执行后台的StudentServlet。
index.html这个文件不能放到WEB-INF目录里面,只能放到WEB-INF目录外面(是同级目录关系)。
student page student list>
第十步:让IDEA工具去关联Tomcat服务器。关联的过程当中将webapp部署到Tomcat服务器当中。
IDEA工具右上角,绿色小锤子右边有一个:Add Configuration(低版本的IDEA是EditConfiguration)
点击左上角加号+,点击Tomcat Server --> local
在弹出的界面中设置服务器Server的参数(基本上不用动)
在当前窗口中有一个Deployment(点击这个用来部署webapp),继续点击加号,选择Artifat部署即可。
修改 Application context为:/xmm
第十一步:启动Tomcat服务器
在右上角有绿色的箭头,或者绿色的小虫子,点击这个绿色的小虫子,可以采用debug的模式启动Tomcat服务器。
开发中建议适用debug模式启动Tomcat
![]()
第十二步:打开浏览器,在浏览器地址栏上输入:http://localhost:8080/xmm/index.html就能进行访问打印,代码中选择的是在窗口和浏览器上都打印:
结束语
今天的分享就到这里啦!快快通过下方链接注册加入刷题大军吧!
各种大厂面试真题在等你哦!
💬刷题神器,从基础到大厂面试题👉点击跳转刷题网站进行注册学习