`

Ckeditor和数据库交互

 
阅读更多

这个设计重要的后台数据库的交互

CkeditorModel.java

package model;

import java.sql.Date;

public class CkeditorModel {
	private int id;
	private String content;
	private Date addTime;

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getContent() {
		return content;
	}

	public void setContent(String content) {
		this.content = content;
	}

	public Date getAddTime() {
		return addTime;
	}

	public void setAddTime(Date addTime) {
		this.addTime = addTime;
	}
}

 CKeditorDao.java

package dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import util.DbUtil;

import model.CkeditorModel;

public class CKeditorDao {
	public void addCkeditor(CkeditorModel model) throws SQLException {
		String sql = "insert into ckstudy values(?,?,?)";
		Connection conn = null;
		try {
			conn = DbUtil.getConnection();
			PreparedStatement pst = conn.prepareStatement(sql);
			pst.setInt(1, model.getId());
			pst.setString(2, model.getContent());
			pst.setDate(3, model.getAddTime());
			pst.executeUpdate();
			pst.close();
		} finally {
			if (conn != null) {
				conn.close();
			}
		}
	}

	public List<CkeditorModel> getCkeditorModels() throws SQLException {
		List<CkeditorModel> models = new ArrayList<CkeditorModel>();
		String sql = "select * from ckstudy";
		Connection conn = null;
		try {
			conn = DbUtil.getConnection();
			Statement st = conn.createStatement();
			ResultSet rs = st.executeQuery(sql);
			while (rs.next()) {
				CkeditorModel model = new CkeditorModel();
				model.setId(rs.getInt(1));
				model.setContent(rs.getString(2));
				model.setAddTime(rs.getDate(3));
				models.add(model);
			}
			st.close();
			rs.close();
		} finally {
			if (conn != null) {
				conn.close();
			}
		}
		return models;
	}
}

  CkeditorServlet.java

package servlet;

import java.io.IOException;
import java.sql.SQLException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import dao.CKeditorDao;

import model.CkeditorModel;

/**
 * Servlet implementation class CkeditorServlet
 */
public class CkeditorServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/**
	 * @see HttpServlet#HttpServlet()
	 */
	public CkeditorServlet() {
		super();
		// TODO Auto-generated constructor stub
	}

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("UTF-8");
		response.setCharacterEncoding("UTF-8");

		String data = request.getParameter("editor");

		Date date = new Date();
		DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
		df.format(date);

		CkeditorModel model = new CkeditorModel();
		model.setContent(data);
		model.setAddTime(java.sql.Date.valueOf(df.format(date)));

		CKeditorDao cKeditorDao = new CKeditorDao();
		try {
			cKeditorDao.addCkeditor(model);
			List<CkeditorModel> models = cKeditorDao.getCkeditorModels();
			request.setAttribute("models", models);
			request.getRequestDispatcher("showCkeditorServlet.jsp").forward(
					request, response);
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

}

 DbUtil.java

 

package util;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

public class DbUtil {
	private static String driver;
	private static String url;
	private static String user;
	private static String password;
	private static String configFilePath = "/dbconfig.ini";
	private static boolean isinited = false;

	public static Connection getConnection() throws SQLException {
		if (!isinited) {
			try {
				loadConfig();
			} catch (IOException e1) {
				e1.printStackTrace();
			}
			try {
				Class.forName(driver);
			} catch (ClassNotFoundException e) {
				e.printStackTrace();
			}
			isinited = true;
		}
		return DriverManager.getConnection(url, user, password);
	}

	private static void loadConfig() throws IOException {
		Properties props = new Properties();
		InputStream ins = DbUtil.class.getResourceAsStream(configFilePath);
		try {
			props.load(ins);
			driver = props.getProperty("driver").trim();
			url = props.getProperty("url").trim();
			user = props.getProperty("user").trim();
			password = props.getProperty("password").trim();
		} finally {
			if (ins != null) {
				ins.close();
			}
		}
	}
}

 

 dbconfig.ini

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mydatabase
user=root
password=root

 

在进行一下简单的前台 设置 就可以进行交互了

分享到:
评论

相关推荐

    Muse:该网站基于ASP.NET MVC三层体系结构。 它使用Ajax技术来实现表单提交和数据验证的功能。 此外,它还使用Bootstrap和Layui框架来构建网页。 JavaScript,jQuery,CSS,HTML和其他技术使布局前端成为可能; 它还将JSON数据交互和数据流的形式用于前端和后端数据交互。 该网站使用诸如CKEditor和Pagedlist之类的插件来优化网站; 它使用SQL Server设计数据库,并使用Linq实现数据库和网站之间的交互

    它还将JSON数据交互和数据流的形式用于前端和后端数据交互。 该网站使用诸如CKEditor和Pagedlist之类的插件来优化网站; 它使用SQL Server设计数据库,并使用Linq实现数据库和网站之间的交互。

    ASP.NET MVC网上图书商城电商网站运营源码

    2项目使用 ASP.NET MVC框架,使用ADO.NET实体数据模型 EF连接数据库,view视图用Razor视图,控制器动作方法使用 Linq to sql 实现与数据库进行数据交互,并完成业务逻辑操作 3页面使用伪静态处理 网站前台 1Web前端...

    基于SpringBoot2.0的具备支付功能的已上线大型OA项目

    页面交互:基于hplus和inspinia 下拉框:bootstrap-select 文件上传:Bootstrap File Input 文件管理器:CKFinder 富文本编辑器:CKEditor 通讯技术:webSocket 数据库:MySQL 分布式文件系统:FastDFS 持续集成:...

    Projects:学生专案

    专案东南亚大学计算机科学... jQuery UI用于用户界面的交互,效果,小部件和主题。 jQuery Countdown用于设置显示给定时间的倒数。 Bootstrap 3用于在Web上开发响应式项目。 Highcharts用于汇总以显示来自数据库MySQL的

    自己人策划企业建站系统 1.0.rar

    3、支持编辑器后台切换,目前集成Ckeditor\FCkeditor\Ewebeditor\KindEditor 4、采用模板标签形式,只要稍懂点美工,就能自主建立漂亮的网站。 5、后台采用Session Cookie验证方式,安全高速。 二、信息管理 1、...

    barista:Grupo NSNC 的咖啡师框架

    NSNC 的咖啡师框架基于 ... 使用 Doctrine 来优化和促进与数据库的交互。 SASS 优化站点样式 (css)。 TWIG 应用模板技术,这是为了有效地、干净地将视图与控制器分离,并利用(并实现)缓存的使用。 jQuery 为 Ja

    自己人策划企业建站CMS系统 v1.0.zip

    3、 支持编辑器后台切换,目前集成Ckeditor\FCkeditor\Ewebeditor\KindEditor 4、 采用模板标签形式,只要稍懂点美工,就能自主建立漂亮的网站。 5、 后台采用Session Cookie验证方式,安全高速。 二、信息管理 ...

    阳光企业网站管理系统V2.0 scscms

    编辑器采用全球最优秀的CKeditor编辑器,文件采用相对绝对地址,所以不支持子文件夹安装,请见谅; 采用DIV布局,可在页面自由调用相应的asp函数标签,灵活使用,可制作出多种风格模板; 网站可动静态切换,建议生成...

    java开源包1

    Chronicle 是一个超低延迟、高吞吐、持久化的消息和事件驱动的内存数据库,延迟只有16纳秒以及支持每秒钟 500-2000 万消息/记录。 google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 ...

    java开源包11

    Chronicle 是一个超低延迟、高吞吐、持久化的消息和事件驱动的内存数据库,延迟只有16纳秒以及支持每秒钟 500-2000 万消息/记录。 google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 ...

    java开源包2

    Chronicle 是一个超低延迟、高吞吐、持久化的消息和事件驱动的内存数据库,延迟只有16纳秒以及支持每秒钟 500-2000 万消息/记录。 google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 ...

    java开源包3

    Chronicle 是一个超低延迟、高吞吐、持久化的消息和事件驱动的内存数据库,延迟只有16纳秒以及支持每秒钟 500-2000 万消息/记录。 google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 ...

    java开源包6

    Chronicle 是一个超低延迟、高吞吐、持久化的消息和事件驱动的内存数据库,延迟只有16纳秒以及支持每秒钟 500-2000 万消息/记录。 google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 ...

    java开源包5

    Chronicle 是一个超低延迟、高吞吐、持久化的消息和事件驱动的内存数据库,延迟只有16纳秒以及支持每秒钟 500-2000 万消息/记录。 google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 ...

    CoverCMS内容管理系统

    # 采用更新更优秀的CKeditor富文本编辑器 # 全新内核、全新界面,更高效,更安全。部分功能效率显著提高,在页面生成上亦有可观的效率提升。 # 支持全站页面url自定义部署,首页允许分页,域名绑定将更加灵活多变。 ...

    java开源包10

    Chronicle 是一个超低延迟、高吞吐、持久化的消息和事件驱动的内存数据库,延迟只有16纳秒以及支持每秒钟 500-2000 万消息/记录。 google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 ...

    java开源包4

    Chronicle 是一个超低延迟、高吞吐、持久化的消息和事件驱动的内存数据库,延迟只有16纳秒以及支持每秒钟 500-2000 万消息/记录。 google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 ...

    java开源包8

    Chronicle 是一个超低延迟、高吞吐、持久化的消息和事件驱动的内存数据库,延迟只有16纳秒以及支持每秒钟 500-2000 万消息/记录。 google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 ...

    java开源包7

    Chronicle 是一个超低延迟、高吞吐、持久化的消息和事件驱动的内存数据库,延迟只有16纳秒以及支持每秒钟 500-2000 万消息/记录。 google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 ...

    java开源包9

    Chronicle 是一个超低延迟、高吞吐、持久化的消息和事件驱动的内存数据库,延迟只有16纳秒以及支持每秒钟 500-2000 万消息/记录。 google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 ...

Global site tag (gtag.js) - Google Analytics