首页
关于
留言
统计
友链
壁纸
影视
留言找电影
Search
1
java jdk17版本使用cglib报错问题解决
320 阅读
2
在Java中修复json数据,json格式不正确,如何在Java中修复不正确的json
116 阅读
3
Java实现双链表插入排序~渡星河全网首发
106 阅读
4
Java打印某年某月的日历~不调用函数
76 阅读
5
Java中判断是否是闰年
70 阅读
代码笔记
Java
css
Javascript
数据库
安卓开发
Java 功能实例
Java 封装
我的日常
影音分享
文案
恋爱问答
资源分享
电脑游戏
实用APP
登录
/
注册
Search
标签搜索
java
java作业
恋爱
动漫
3A大作
独行月球
电影分享
总之就是非常可爱
JavaScript
office
破解
mysql
vue
java打包
跨域
tomcat解决乱码
bug解决
tomcat
vscode
渡星河
累计撰写
94
篇文章
累计收到
30
条评论
首页
栏目
代码笔记
Java
css
Javascript
数据库
安卓开发
Java 功能实例
Java 封装
我的日常
影音分享
文案
恋爱问答
资源分享
电脑游戏
实用APP
页面
关于
留言
统计
友链
壁纸
影视
留言找电影
搜索到
7
篇与
的结果
2023-02-16
JavaServlet封装一个druid数据连接池,并优化使连接池效率最优抗并发
Druid 是阿里巴巴开源的一款高性能的 JDBC 连接池,在 Java Web 开发中被广泛使用。要封装一个 Druid 数据连接池,可以按照以下步骤进行:引入 Druid 和数据库驱动的依赖。在 Maven 中添加以下依赖:<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.2.6</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.27</version> </dependency> 创建 Druid 数据源对象。在 ServletContextListener 中创建 Druid 数据源对象,将其设置为全局变量,这样在整个应用程序中都可以共享该数据源。@WebListener public class ContextListener implements ServletContextListener { @Override public void contextInitialized(ServletContextEvent sce) { ServletContext servletContext = sce.getServletContext(); String jdbcUrl = "jdbc:mysql://localhost:3306/test"; String username = "root"; String password = "password"; DataSource dataSource = createDataSource(jdbcUrl, username, password); servletContext.setAttribute("dataSource", dataSource); } @Override public void contextDestroyed(ServletContextEvent sce) { // do nothing } private DataSource createDataSource(String jdbcUrl, String username, String password) { DruidDataSource dataSource = new DruidDataSource(); dataSource.setUrl(jdbcUrl); dataSource.setUsername(username); dataSource.setPassword(password); dataSource.setInitialSize(5); // 初始化连接池大小 dataSource.setMinIdle(5); // 最小空闲连接数 dataSource.setMaxActive(100); // 最大连接数 dataSource.setMaxWait(60000); // 获取连接的最长等待时间 dataSource.setValidationQuery("SELECT 1"); // 检测连接是否有效的 SQL dataSource.setTestOnBorrow(true); // 获取连接时检测是否有效 dataSource.setTestOnReturn(false); // 归还连接时不检测是否有效 dataSource.setTestWhileIdle(true); // 定时检测空闲连接是否有效 dataSource.setTimeBetweenEvictionRunsMillis(60000); // 定时检测的时间间隔 dataSource.setMinEvictableIdleTimeMillis(300000); // 空闲连接超过该时间会被回收 dataSource.setMaxEvictableIdleTimeMillis(600000); // 空闲连接最长存活时间 return dataSource; } }上面的代码中,我们在 contextInitialized() 方法中创建了 Druid 数据源对象,并将其设置为 ServletContext 中的属性。在创建数据源时,我们指定了一些参数,例如最大连接数、初始化连接池大小、最长等待时间等。在 Servlet 中获取 Druid 数据源对象,并从数据源中获取数据库连接。@WebServlet("/example") public class ExampleServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { DataSource dataSource = (DataSource) getServletContext().getAttribute("dataSource"); try (Connection conn = dataSource.getConnection()) { // 使用连接进行数据库操作 } catch (SQLException e) { } } }
2023年02月16日
9 阅读
0 评论
0 点赞
2023-02-16
Java Servlet实现输出json
实现效果{ "status": 1, "msg": "登录成功", "data": { "userAccount": 10001, "nickname": "admin", "motto": "心中无女人代码自然神", "userqq": "10001", "power": 1 } } 实现方法在 Java Servlet 中实现输出 JSON 格式的数据可以使用 JSON 序列化框架,如 Jackson、Gson 等。下面以 Jackson 为例,介绍一下如何实现在 Java Servlet 中输出一个 JSON 格式的数据。首先,在 pom.xml 中添加 Jackson 序列化库的依赖:<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>${jackson.version}</version> </dependency> 然后,我们可以在 Java Servlet 中定义一个包含需要输出的数据的 Java 类,如下所示:public class User { private int userAccount; private String nickname; private String motto; private String userqq; private int power; // 省略构造方法、getter 和 setter } 接下来,在登录成功后,我们可以创建一个 User 对象,并将需要输出的数据填充进去:User user = new User(); user.setUserAccount(10001); user.setNickname("admin"); user.setMotto("心中无女人代码自然神"); user.setUserqq("10001"); user.setPower(1);最后,我们使用 Jackson 将 User 对象序列化成 JSON 格式的字符串,并输出到客户端:ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(user); response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); response.getWriter().write(json); 上面的代码中,我们首先创建了一个 ObjectMapper 对象,它是 Jackson 序列化库中的核心类,用于将 Java 对象序列化成 JSON 格式的字符串。然后,我们调用 ObjectMapper 对象的 writeValueAsString() 方法将 User 对象序列化成 JSON 格式的字符串。最后,我们设置响应头的 Content-Type 为 application/json,告诉客户端返回的是 JSON 格式的数据,并将 JSON 字符串写入响应的输出流中。整个代码示例如下所示:@WebServlet("/login") public class LoginServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username = request.getParameter("username"); String password = request.getParameter("password"); if ("admin".equals(username) && "password".equals(password)) { HttpSession session = request.getSession(); session.setAttribute("loggedIn", true); session.setAttribute("username", username); User user = new User(); user.setUserAccount(10001); user.setNickname("admin"); user.setMotto("心中无女人代码自然神"); user.setUserqq("10001"); user.setPower(1); ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(user); response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); response.getWriter().write(json); } else { response.sendRedirect("login.jsp"); } } }
2023年02月16日
9 阅读
0 评论
0 点赞
1
2