`
jilong-liang
  • 浏览: 481243 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类

使用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");

}

 

3
0
分享到:
评论

相关推荐

    JDBC及Servlet实验

    Javaee实习包含详细代码,实验步骤,学习Servlet的编写、使用JDBC访问数据库;Servlet及过滤器,包含配置截图

    基于JSP+JavaBean+Mysql+JDBC+Servlet实现javaWeb登录注册

    在本项目中,“基于JSP+JavaBean+Mysql+JDBC+Servlet实现javaWeb登录注册”是一个典型的Java Web应用程序,它使用了多种核心技术来构建一个完整的用户管理系统,包括用户登录和注册。以下是对这些技术及其在项目中的...

    jdbc和servlet小练习

    【jdbc和servlet小练习】这个项目主要涵盖了Java数据库连接(JDBC)和Servlet的基础应用,是初学者熟悉这两种技术的绝佳实践。JDBC是Java编程语言与各种数据库交互的标准接口,而Servlet则是用于构建动态Web应用程序...

    通过JSP、JavaBean、JDBC、Servlet技术实现用户登录功能

    通过JSP、JavaBean、JDBC、Servlet、mysql 技术实现用户登录功能 通过JSP、JavaBean、JDBC、Servlet、mysql 技术实现用户登录功能 通过JSP、JavaBean、JDBC、Servlet、mysql 技术实现用户登录功能 通过JSP、JavaBean...

    JDBC+Servlet+jsp实现增删改查

    1. **JDBC**:JDBC是Java语言中用来规范应用和数据库之间交互的一种接口和API,它提供了一种标准的API,使得开发者可以使用统一的方式来访问各种不同的数据库。在本项目中,JDBC主要用于创建数据库连接,执行SQL语句...

    JSP+JDBC+Servlet实现ATM机的源码

    **JSP+JDBC+Servlet实现ATM机的源码详解** 在IT行业中,Java Web开发是企业级应用的重要组成部分,而JSP(JavaServer Pages)、JDBC(Java Database Connectivity)和Servlet是构建Web应用程序的核心技术。这个"JSP...

    Java EE WEB 工程师培训------JDBC+Servlet+JSP整合开发

    6. 熟悉RESTful API的设计和实现,这对于构建前后端分离的应用尤为重要。 7. 了解安全相关知识,如身份验证、授权、防止SQL注入和XSS攻击等。 通过深入学习和实践这些内容,你可以成为一名熟练的Java EE WEB工程师...

    JDBC+Servlet+Mysql 实现新闻表的动态增删改查

    3. Servlet使用JDBC连接到MySQL数据库,执行相应操作。 4. 数据库响应后,Servlet将结果处理成合适的数据格式,如JSON或HTML。 5. Servlet将处理后的数据作为响应发送回给客户端,用户界面得到更新。 **6. 前端技术...

    jsp+jdbc+servlet登陆完整程序和注解

    在JSP、Servlet和JDBC中,注解可以简化配置,例如,`@WebServlet`用于声明一个Servlet,`@ lucrative.sql.DataSource`可以用于配置数据源,而`@Override`确保方法覆盖了父类的方法。注解使得代码更易读,更少依赖XML...

    Java初学者JDBC+Servlet+jsp

    压缩包中的"BookSys"可能是一个示例项目,用于演示如何使用JDBC、Servlet和JSP来实现一个图书管理系统的功能,如用户登录、图书查询、添加删除书籍等。在这个系统中,JDBC用于数据库操作,Servlet作为控制器处理...

    web基础JDBC+Servlet+jsp

    本教程以"web基础JDBC+Servlet+jsp"为主题,旨在帮助初学者掌握这三个核心概念,实现完整的CRUD(创建、读取、更新、删除)操作。下面将详细介绍这三个技术及其在Web开发中的应用。 **JDBC(Java Database ...

    jdbc+servlet增删改查

    在这个项目中,开发者利用JDBC与Servlet实现了对数据库的增(Add)、删(Delete)、改(Update)和查(Query)这四个基本操作。以下是对这些知识点的详细说明: 1. JDBC(Java Database Connectivity): JDBC是...

    Java+Servlet+Jdbc+Jsp+Mysql实现Web学生信息管理系统

    在本项目中,"Java+Servlet+Jdbc+Jsp+Mysql实现Web学生信息管理系统",开发者利用了Java后端技术、Servlet、JDBC、JSP以及MySQL数据库来构建一个完整的Web应用,用于管理学生信息。以下是这些技术在系统中的具体应用...

    jdbc+servlet+jsp+mysql

    【jdbc】:JDBC(Java Database Connectivity)是Java语言中用来规范客户端程序如何访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。它是一个Java API,允许Java应用程序通过一组标准接口与各种...

    jsp+servlet+jdbc实现简单的购物车实例.zip

    jsp+servlet+jdbc实现简单的购物车实例,购物数据通过session存储 1、加入购物车时,把数据保存在session中 2、点击系统退出时,购物车中的数据插入到数据库购物车表 3、再次登录时,查询数据库购物车表的数据加载到...

    数据库课程作业,使用jsp + jdbc + servlet + javabean做一个学生管理系统 .zip

    数据库课程作业,使用jsp + jdbc + servlet + javabean做一个学生管理系统。.zip数据库课程作业,使用jsp + jdbc + servlet + javabean做一个学生管理系统。.zip数据库课程作业,使用jsp + jdbc + servlet + ...

    毕设:JDBC+servlet实现校园书籍商城

    【标题】"毕设:JDBC+servlet实现校园书籍商城"是一个典型的Web应用程序开发项目,主要使用Java技术栈,结合HTML5和CSS3构建前端页面,利用JavaScript进行动态交互,并通过JDBC(Java Database Connectivity)与...

    收支平台使用JDBC,Servlet技术[上海喵喵信息科技出品]

    在这个项目中,“收支平台使用JDBC,Servlet技术”是由上海喵喵信息科技开发的一个实例,它主要展示了如何利用Java Web技术来实现这样的系统。让我们详细探讨一下这个系统背后的关键知识点。 首先,JDBC(Java ...

    JDBC+Servlet入门示例

    项目名称为Leaf,Servlet(com.leaf.web.LeafKingLaServlet)简单实现跳转示例,用户名密码访问示例。数据库采用Sqlite3,需要在数据库操作对象(com.leaf.dao.LeafDao):main方法中,以Java Application执行initDB...

Global site tag (gtag.js) - Google Analytics