Java代码

  1. package com.lm.org;
  • import java.io.IOException;
  • import java.io.PrintWriter;
  • import java.sql.Connection;
  • import java.sql.DriverManager;
  • import java.sql.PreparedStatement;
  • import java.sql.ResultSet;
  • import java.sql.SQLException;
  • import javax.servlet.ServletContext;
  • import javax.servlet.ServletException;
  • import javax.servlet.http.HttpServlet;
  • import javax.servlet.http.HttpServletRequest;
  • import javax.servlet.http.HttpServletResponse;
  • /**
  • * Servlet implementation class Test
  • */
  • public class Test extends HttpServlet {
  • private static final long serialVersionUID = 1L;
  • /**
  • */
  • public Test() {
  • super();
  • }
  • /**
  • */
  • protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  • this.doPost(request, response);
  • }
  • /**
  • */
  • protected void doPost(HttpServletRequest request,
  • HttpServletResponse response) throws ServletException, IOException {
  • request.setCharacterEncoding("utf-8");
  • response.setCharacterEncoding("utf-8");
  • PrintWriter out = response.getWriter();
  • //HttpSession session = request.getSession();// 得到session
  • //ServletContext application = super.getServletContext();
  • //Integer accessCount = (Integer) application.getAttribute("accessCount");//数据库查询出来
  • Integer wiewsCount=null;
  • Connection connection = null;
  • String sql="select * from t_news where id=1 ";//wiewsCount
  • PreparedStatement ps=null;
  • ResultSet rs=null;
  • try {
  • connection=getConnection();
  • ps = connection.prepareStatement(sql);
  • rs = ps.executeQuery();
  • if(rs.next()){
  • wiewsCount = rs.getInt("wiewsCount");
  • if(wiewsCount==null){
  • wiewsCount = 1;
  • }else{
  • wiewsCount = wiewsCount + 1;
  • Connection cn =getConnection();
  • String sql1="update t_news set wiewsCount="+wiewsCount+" where id=1";
  • PreparedStatement prepareStatement = cn.prepareStatement(sql1);
  • int executeUpdate = prepareStatement.executeUpdate();
  • if(executeUpdate>0){
  • System.out.println("1");
  • }else{
  • System.out.println(2);
  • }
  • cn.close();
  • cn=null;
  • prepareStatement.close();
  • prepareStatement=null;
  • }
  • }
  • } catch (SQLException e) {
  • e.printStackTrace();
  • }finally{
  • try {
  • connection.close();
  • connection=null;
  • ps.close();
  • ps=null;
  • rs.close();
  • rs=null;
  • } catch (SQLException e) {
  • e.printStackTrace();
  • }
  • }
  • Integer ac;
  • try {
  • ac = accessCount(request, response);
  • out.println("模拟值="+ac+"\t数据库值="+wiewsCount);
  • } catch (Exception e) {
  • e.printStackTrace();
  • }
  • out.flush();
  • out.close();
  • }
  • public static Integer accessCount(HttpServletRequest request,HttpServletResponse response)throws Exception{
  • HttpServletRequest hs=(HttpServletRequest)request;
  • ServletContext application = hs.getServletContext();
  • Integer accessCount = (Integer) application.getAttribute("accessCount");//数据库查询出来
  • //if=null
  • if (accessCount == null) {
  • accessCount = 1;
  • application.setAttribute("accessCount", accessCount);
  • } else {
  • //else +1并修改数据库的值
  • accessCount = accessCount + 1;
  • application.setAttribute("accessCount", accessCount);
  • //update
  • }
  • return accessCount;
  • }
  • /**
  • * @return
  • */
  • public static Connection getConnection() {
  • Connection conn = null;
  • try {
  • Class.forName(Driver);
  • conn = DriverManager.getConnection(Url, UserName, PassWord);
  • } catch (Exception e) {
  • e.printStackTrace();
  • }
  • return conn;
  • }
  • private static String Driver = "com.mysql.jdbc.Driver";// ConfigUtils.getProperty("jdbc.driver");
  • private static String Url = "jdbc:mysql://localhost:3306/test?characterEncoding=utf8";// ConfigUtils.getProperty("jdbc.url");
  • private static String UserName = "root";// ConfigUtils.getProperty("jdbc.userName");
  • private static String PassWord = "root";// ConfigUtils.getProperty("jdbc.passWord");
  • }

转载于:https://www.cnblogs.com/techfox/p/4566125.html

【使用jdbc和servlet实现阅览文章访问次数】相关推荐

  1. struts2和servlet同时用(访问servlet时被struts2过滤器拦截问题的解决)

    struts2和servlet同时用(访问servlet时被struts2过滤器拦截问题的解决) 参考文章: (1)struts2和servlet同时用(访问servlet时被struts2过滤器拦截 ...

  2. JDBC和servlet设计思路、DAO模式思路、MVC思路粗略总结

    #JDBC和Servlet联合起来使用的项目思路: 说明:建库,最好一开始设置utf8字符集 step1: 在数据库中建表 如   create table t_user{ ...... } step ...

  3. JavaWeb程序设计任务教程(黑马程序员 传智播客)测一测 编写一个Servlet,实现统计网站被访问次数的功能

    详细解释已在注释中给出 package 统计网站被访问次数;import java.io.*;import javax.servlet.*; import javax.servlet.http.*;p ...

  4. 编写一个Servlet,实现统计网站被访问次数的功能

    编写一个Servlet,实现统计网站被访问次数的功能 1弄清楚如何储存你访问的记录的次数这题就很好解决了 (a)getAttribute(java.lang.String name) 返回具有给动名字 ...

  5. 用Servlet实现统计网站被访问次数的功能

    思路: 1.新建一个Servlet类继承HttpServlet,重写doGet()和doPost()方法: 2.在doPost方法中调用doGet()方法,在doGet()方法中实现统计网站被访问次数 ...

  6. Hexo Next主题添加访客统计、访问次数统计、文章阅读次数统计

    Hexo的版本:v3.9.0 Next的版本:v7.4.0 1.打开next主题配置文件\themes\next_config.yml,搜索找到busuanzi_count,把enable设置为tru ...

  7. 织梦php 密码文件,织梦dedecms文章访问密码插件

    本插件主要针对织梦dedecms5.7添加文章访问密码.使用方法如下: 1.下载插件后解压,把里面文件覆盖织梦系统对应文件,需要替换的文件文件如下: /dede/viewarcpwd.php /ded ...

  8. (2)文章页面浏览次数+网站访问次数统计显示

    文章目录 一.插件安装与配置 二.页面显示 三.样式修改 我的个人网站IP地址:139.9.58.252(网站还在备案,域名不可用),现想实现页面浏览次数和网站访问次数的统计显示 一.插件安装与配置 ...

  9. Servlet之 url-pattern (访问路径)的三种配置方式

    访问路径的组成: 协议:ip地址:端口号/项目名/资源路径 本文讲述的就是资源路径<url-pattern> </url-pattern>的配置方式和效果,使用@WebServ ...

最新文章

  1. 给帝国cms7.5后台文章编辑器ckeditor增加一个行距的功能插件
  2. 无限循环的ViewPager
  3. update-rc.d 更新 Linux 系统启动项 命令 用法详解
  4. FileUtils(文件读写操作工具类)
  5. 利用Proteus 8.9运行stm32最简单的跑马灯程序
  6. c语言程序设计的反思,C语言程序设计教学反思
  7. HashMap底层原理详解
  8. Echarts 配置渐变
  9. niosii spi 外部_NIOS2随笔——SD卡之SPI操作
  10. 计算机英语句子及译文,英语经典句子
  11. 微信公众号多域名回调系统1.0发布
  12. SE:17.网络编程
  13. react 富文本编辑器react-quill
  14. One-hot的使用
  15. 用单循环链表实现约瑟夫环(c语言)
  16. 用VirtualWall防止远古盗链的方法
  17. 在Ubuntu下使用QEMU搭建arm开发环境(一)搭建基本开发环境
  18. java maven 打可执行包
  19. 轻松剪辑、合并和添加特效,快速完成视频处理——掌握MoviePy库
  20. 香港科大詹华强发明头发检测吸毒新技术

热门文章

  1. nginx lua指令
  2. Java数组对象的内存布局
  3. mysql操作查询结果case when then else end用法举例
  4. 安装rime中文输入法
  5. 调整png的不透明度_悄悄告诉你:11个高质量PNG素材来源,再也不用抠图了~
  6. ARM 之十一__weak 和 __attribute__((weak)) 关键字的使用
  7. SourceInsight 4.0 之四 项目配置(库文件引入、配置宏添加、快捷键修改等)
  8. 嵌入式系统存储(RAM、ROM、Flash)
  9. php curl获取响应,php – cUrl – 获取html响应正文
  10. Cpp / std::string 实现