欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > 培训机构Day25

培训机构Day25

2025/2/24 12:39:45 来源:https://blog.csdn.net/XiaoH233/article/details/145015641  浏览:    关键词:培训机构Day25

今天上午花时间实现了写Servlet,实现了数据库查询显示到浏览器界面上。下午讲了如何处理多线程的访问保证线程安全。

知识点:

设计模式:面向对象的语言。对某个特定领域特定场景问题的最佳解决方案。
1.单例模式。singleton。单个实例,单个对象。
1.1 懒汉式:将实例化延迟到第一次获取实例。可以通过双检锁(Double-check)实现线程安全。
1.2 饿汉式:提前创建类的唯一实现,线程安全的。
1.3 登记式:spring框架。可以对任意类进行单例。通用的。

volatile:表示禁止指令重排,禁止优化。一旦有写操作,其它线程第一时间可以看到。

int a = 10;
int b = 20;
int c = 30;

sout(a+b+c)

xxx.properties
xxx.xml
xxx.yml

============================================
监听器:监听特定的事件,当事件发生时,进行特定的业务处理。
1.ServletContextListener:比较常用。


域对象四种:存储数据的容器。
1.页面域。
2.请求域。HttpServletRequest
3.会话域。
4.全局域。ServletContext。一个应用有唯一的一个全局域。


过滤器:

不过初版的servelt代码还是先扔出来吧:

package com.example.demo;import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;import java.io.*;
import java.sql.*;@WebServlet(name = "Search",value = "/search")
public class Search extends HelloServlet{// 数据库连接信息private static final String DB_URL = "jdbc:mysql://localhost:3306/test";private static final String DB_USER = "root";private static final String DB_PASSWORD = "*******";public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {// 设置响应内容类型response.setContentType("text/html;charset=UTF-8");PrintWriter out = response.getWriter();// 获取数据库连接Connection conn = null;PreparedStatement stmt = null;ResultSet rs = null;try {// 获取数据库连接Class.forName("com.mysql.cj.jdbc.Driver");conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);// 查询数据库获取学生列表String sql = "SELECT * FROM t_student LIMIT 10";stmt = conn.prepareStatement(sql);rs = stmt.executeQuery();// 生成HTML页面out.println("<html>");out.println("<head><title>学生列表</title></head>");out.println("<body>");out.println("<h1>学生列表</h1>");out.println("<table border='1'>");out.println("<tr><th>ID</th><th>姓名</th></tr>");// 循环显示查询结果while (rs.next()) {int id = rs.getInt("id");String name = rs.getString("name");out.println("<tr>");out.println("<td>" + id + "</td>");out.println("<td>" + name + "</td>");out.println("</tr>");}out.println("</table>");out.println("</body>");out.println("</html>");} catch (Exception e) {e.printStackTrace();out.println("<h2>错误:" + e.getMessage() + "</h2>");} finally {// 关闭资源try {if (rs != null) rs.close();if (stmt != null) stmt.close();if (conn != null) conn.close();} catch (SQLException e) {e.printStackTrace();}}}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词