【使用jdbc和servlet实现阅览文章访问次数】
Java代码
- 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实现阅览文章访问次数】相关推荐
- struts2和servlet同时用(访问servlet时被struts2过滤器拦截问题的解决)
struts2和servlet同时用(访问servlet时被struts2过滤器拦截问题的解决) 参考文章: (1)struts2和servlet同时用(访问servlet时被struts2过滤器拦截 ...
- JDBC和servlet设计思路、DAO模式思路、MVC思路粗略总结
#JDBC和Servlet联合起来使用的项目思路: 说明:建库,最好一开始设置utf8字符集 step1: 在数据库中建表 如 create table t_user{ ...... } step ...
- JavaWeb程序设计任务教程(黑马程序员 传智播客)测一测 编写一个Servlet,实现统计网站被访问次数的功能
详细解释已在注释中给出 package 统计网站被访问次数;import java.io.*;import javax.servlet.*; import javax.servlet.http.*;p ...
- 编写一个Servlet,实现统计网站被访问次数的功能
编写一个Servlet,实现统计网站被访问次数的功能 1弄清楚如何储存你访问的记录的次数这题就很好解决了 (a)getAttribute(java.lang.String name) 返回具有给动名字 ...
- 用Servlet实现统计网站被访问次数的功能
思路: 1.新建一个Servlet类继承HttpServlet,重写doGet()和doPost()方法: 2.在doPost方法中调用doGet()方法,在doGet()方法中实现统计网站被访问次数 ...
- Hexo Next主题添加访客统计、访问次数统计、文章阅读次数统计
Hexo的版本:v3.9.0 Next的版本:v7.4.0 1.打开next主题配置文件\themes\next_config.yml,搜索找到busuanzi_count,把enable设置为tru ...
- 织梦php 密码文件,织梦dedecms文章访问密码插件
本插件主要针对织梦dedecms5.7添加文章访问密码.使用方法如下: 1.下载插件后解压,把里面文件覆盖织梦系统对应文件,需要替换的文件文件如下: /dede/viewarcpwd.php /ded ...
- (2)文章页面浏览次数+网站访问次数统计显示
文章目录 一.插件安装与配置 二.页面显示 三.样式修改 我的个人网站IP地址:139.9.58.252(网站还在备案,域名不可用),现想实现页面浏览次数和网站访问次数的统计显示 一.插件安装与配置 ...
- Servlet之 url-pattern (访问路径)的三种配置方式
访问路径的组成: 协议:ip地址:端口号/项目名/资源路径 本文讲述的就是资源路径<url-pattern> </url-pattern>的配置方式和效果,使用@WebServ ...
最新文章
- 给帝国cms7.5后台文章编辑器ckeditor增加一个行距的功能插件
- 无限循环的ViewPager
- update-rc.d 更新 Linux 系统启动项 命令 用法详解
- FileUtils(文件读写操作工具类)
- 利用Proteus 8.9运行stm32最简单的跑马灯程序
- c语言程序设计的反思,C语言程序设计教学反思
- HashMap底层原理详解
- Echarts 配置渐变
- niosii spi 外部_NIOS2随笔——SD卡之SPI操作
- 计算机英语句子及译文,英语经典句子
- 微信公众号多域名回调系统1.0发布
- SE:17.网络编程
- react 富文本编辑器react-quill
- One-hot的使用
- 用单循环链表实现约瑟夫环(c语言)
- 用VirtualWall防止远古盗链的方法
- 在Ubuntu下使用QEMU搭建arm开发环境(一)搭建基本开发环境
- java maven 打可执行包
- 轻松剪辑、合并和添加特效,快速完成视频处理——掌握MoviePy库
- 香港科大詹华强发明头发检测吸毒新技术
热门文章
- nginx lua指令
- Java数组对象的内存布局
- mysql操作查询结果case when then else end用法举例
- 安装rime中文输入法
- 调整png的不透明度_悄悄告诉你:11个高质量PNG素材来源,再也不用抠图了~
- ARM 之十一__weak 和 __attribute__((weak)) 关键字的使用
- SourceInsight 4.0 之四 项目配置(库文件引入、配置宏添加、快捷键修改等)
- 嵌入式系统存储(RAM、ROM、Flash)
- php curl获取响应,php – cUrl – 获取html响应正文
- Cpp / std::string 实现