通过一个超链接访问Servlet并连接数据库查询出结果

StudentServlet.java

/*
 * Copyright (c) 2020, 2021,great-sun  https://blog.csdn.net/weixin_44728473 All rights reserved.
 *
 */
package org;
//该代码所用Tomcat为10.0.14自9以上servlet架包改成下面的,9以下不能运行需替换架包
import jakarta.servlet.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
/**
 * @author great-sun [https://blog.csdn.net/weixin_44728473]
 */
public class StudentServlet implements Servlet {
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
    }
    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse)
            throws ServletException, IOException {
        servletResponse.setContentType("text/html");
        PrintWriter out = servletResponse.getWriter();
        //编写JDBC代码,连接数据库,查询所有学生的信息
        Connection conn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        try {
            //注册驱动
            Class.forName("com.mysql.cj.jdbc.Driver");
            //获取连接
            String url = "jdbc:mysql://localhost:3305/bjpowernode";
            String user = "root";
            String password ="";
            conn = DriverManager.getConnection(url, user, password);
           //获取预编译操作对象
            String sql = "select no, name from t_student";
            ps = conn.prepareStatement(sql);
           //执行sql
            rs = ps.executeQuery();
            //处理查询结果集
            while (rs.next()) 
            {
                String no = rs.getString("no");
                String name = rs.getString("name");
                out.print(no +","+name + "<br>");
            }
        } catch (ClassNotFoundException | 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() {

    }
}

student.html
这里的xmm为项目名,通过编辑tomcat在Deployment里面的Applocation contect加/xmm
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<a href="/xmm/servlet/student">student list</a>
</body>
</html>

web.xml
servlet-name前后保持一致,可以随意写
servlet-class为项目全类名
url-pattern为servlet地址,通过浏览器显示超链接访问servlet

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <servlet>
        <servlet-name>studentServlet</servlet-name>
        <servlet-class>org.StudentServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>studentServlet</servlet-name>
        <url-pattern>/servlet/student</url-pattern>
    </servlet-mapping>
</web-app>
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 的区别是什么? servlet、springmvc、jsp 和 html 都是用于 web 开发的技术,但它们的作用和使用方式不同。servletJava web 开发中的一种技术,用于处理 HTTP 请求和响应,可以通过编写 Java 代码来实现 web 应用的逻辑。SpringMVC 是基于 Spring 框架的 MVC 模式的 web 开发框架,它提供了一系列的组件和工具,可以帮助开发者快速构建 web 应用。JSP 是一种动态网页开发技术,它允许开发者在 HTML 页面中嵌入 Java 代码,可以动态生成 HTML 页面。HTML 是一种标记语言,用于描述网页的结构和内容。它是 web 开发的基础,可以通过 HTML 标签来定义网页的各种元素,如文本、图片、链接等。 ### 回答2: ServletJava提供的一种服务器端技术,它运行在Web服务器上,用于处理客户端发送的请求并生成响应。它是一种基于Java的编程模型,可以通过编写Java类来处理HTTP请求和响应。Servlet能够完成与服务器进行通信、数据处理以及生成动态的HTML页面等任务,具有高效、可扩展等优点。 Spring MVC是一个基于MVC(Model-View-Controller)设计模式的Web框架,它建立在Servlet之上,提供了更高级和更灵活的开发方式。相比于Servlet,Spring MVC更加简洁、易用,提供了更多的功能和特性,例如请求映射、数据绑定、数据校验、页面渲染控制等。Spring MVC通过将请求分发给不同的控制器,将业务逻辑分离来,使得开发人员能够更加专注于业务逻辑的开发。 JSP(Java Server Pages)是一种动态网页技术,它通过将Java代码嵌入到HTML页面中,实现了在HTML页面上编写Java代码的功能。JSP允许我们将页面和业务逻辑进行分离,提高了开发效率和代码的可维护性。JSP页面在服务器端被解析和编译为Servlet,然后在客户端被发送为HTML页面。它使得开发人员能够更加方便地开发动态网页,并实现与用户的交互。 HTML是一种标记语言,用于描述网页的结构和内容。它用一系列标签和属性来描述网页的各个部分,例如标题、段落、图像、超链接等。HTML可以与CSS(层叠样式表)和JavaScript一起使用,实现网页的样式和交互效果。HTML页面通常是静态的,无法直接处理客户端请求和生成动态内容,但可以通过与其他后端技术(例如Servlet、JSP等)结合使用,实现动态网页的开发。 综上所述,Servlet和Spring MVC都是用于服务器端开发的技术,分别提供了不同级别的抽象和功能,使得开发人员能够更加方便和高效地开发Web应用。而JSP和HTML则是用于描述网页的技术,其中JSP可以实现在HTML页面上编写Java代码的功能,从而实现网页的动态化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

great-sun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值