这个设计重要的后台数据库的交互
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
在进行一下简单的前台 设置 就可以进行交互了
分享到:
相关推荐
它还将JSON数据交互和数据流的形式用于前端和后端数据交互。 该网站使用诸如CKEditor和Pagedlist之类的插件来优化网站; 它使用SQL Server设计数据库,并使用Linq实现数据库和网站之间的交互。
2项目使用 ASP.NET MVC框架,使用ADO.NET实体数据模型 EF连接数据库,view视图用Razor视图,控制器动作方法使用 Linq to sql 实现与数据库进行数据交互,并完成业务逻辑操作 3页面使用伪静态处理 网站前台 1Web前端...
页面交互:基于hplus和inspinia 下拉框:bootstrap-select 文件上传:Bootstrap File Input 文件管理器:CKFinder 富文本编辑器:CKEditor 通讯技术:webSocket 数据库:MySQL 分布式文件系统:FastDFS 持续集成:...
专案东南亚大学计算机科学... jQuery UI用于用户界面的交互,效果,小部件和主题。 jQuery Countdown用于设置显示给定时间的倒数。 Bootstrap 3用于在Web上开发响应式项目。 Highcharts用于汇总以显示来自数据库MySQL的
3、支持编辑器后台切换,目前集成Ckeditor\FCkeditor\Ewebeditor\KindEditor 4、采用模板标签形式,只要稍懂点美工,就能自主建立漂亮的网站。 5、后台采用Session Cookie验证方式,安全高速。 二、信息管理 1、...
NSNC 的咖啡师框架基于 ... 使用 Doctrine 来优化和促进与数据库的交互。 SASS 优化站点样式 (css)。 TWIG 应用模板技术,这是为了有效地、干净地将视图与控制器分离,并利用(并实现)缓存的使用。 jQuery 为 Ja
3、 支持编辑器后台切换,目前集成Ckeditor\FCkeditor\Ewebeditor\KindEditor 4、 采用模板标签形式,只要稍懂点美工,就能自主建立漂亮的网站。 5、 后台采用Session Cookie验证方式,安全高速。 二、信息管理 ...
编辑器采用全球最优秀的CKeditor编辑器,文件采用相对绝对地址,所以不支持子文件夹安装,请见谅; 采用DIV布局,可在页面自由调用相应的asp函数标签,灵活使用,可制作出多种风格模板; 网站可动静态切换,建议生成...
Chronicle 是一个超低延迟、高吞吐、持久化的消息和事件驱动的内存数据库,延迟只有16纳秒以及支持每秒钟 500-2000 万消息/记录。 google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 ...
Chronicle 是一个超低延迟、高吞吐、持久化的消息和事件驱动的内存数据库,延迟只有16纳秒以及支持每秒钟 500-2000 万消息/记录。 google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 ...
Chronicle 是一个超低延迟、高吞吐、持久化的消息和事件驱动的内存数据库,延迟只有16纳秒以及支持每秒钟 500-2000 万消息/记录。 google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 ...
Chronicle 是一个超低延迟、高吞吐、持久化的消息和事件驱动的内存数据库,延迟只有16纳秒以及支持每秒钟 500-2000 万消息/记录。 google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 ...
Chronicle 是一个超低延迟、高吞吐、持久化的消息和事件驱动的内存数据库,延迟只有16纳秒以及支持每秒钟 500-2000 万消息/记录。 google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 ...
Chronicle 是一个超低延迟、高吞吐、持久化的消息和事件驱动的内存数据库,延迟只有16纳秒以及支持每秒钟 500-2000 万消息/记录。 google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 ...
# 采用更新更优秀的CKeditor富文本编辑器 # 全新内核、全新界面,更高效,更安全。部分功能效率显著提高,在页面生成上亦有可观的效率提升。 # 支持全站页面url自定义部署,首页允许分页,域名绑定将更加灵活多变。 ...
Chronicle 是一个超低延迟、高吞吐、持久化的消息和事件驱动的内存数据库,延迟只有16纳秒以及支持每秒钟 500-2000 万消息/记录。 google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 ...
Chronicle 是一个超低延迟、高吞吐、持久化的消息和事件驱动的内存数据库,延迟只有16纳秒以及支持每秒钟 500-2000 万消息/记录。 google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 ...
Chronicle 是一个超低延迟、高吞吐、持久化的消息和事件驱动的内存数据库,延迟只有16纳秒以及支持每秒钟 500-2000 万消息/记录。 google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 ...
Chronicle 是一个超低延迟、高吞吐、持久化的消息和事件驱动的内存数据库,延迟只有16纳秒以及支持每秒钟 500-2000 万消息/记录。 google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 ...
Chronicle 是一个超低延迟、高吞吐、持久化的消息和事件驱动的内存数据库,延迟只有16纳秒以及支持每秒钟 500-2000 万消息/记录。 google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 ...