blog 修改博客文章
1 <input name="title" type="text" size="60" value="<%=blog.getTitle() %>" />
2 doGet,主要是获取url的参数。doPost主要是获取表单的参数
3 在数据库中基本上所有的参数都是string。所以在获取的时候要一直。在bean当中不是所有的参数都是stirng所以要进行转化。id的值在数据库中是int但是在sql语句中时string。
4 隐藏表单域
<input name="id" type="hidden" value="<%=blog.getId() %>"/>
5 String id=request.getParameter("id");(用来获取表单内容,)
6 这种错误一般都是sql语句出错了
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'catetory_id=2 where id =10' at line 1at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)at java.lang.reflect.Constructor.newInstance(Constructor.java:513)at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)at com.mysql.jdbc.Util.getInstance(Util.java:386)at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3609)at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3541)at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2002)at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163)at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2618)at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1749)at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1666)at cn.com.blog.PostEditBlogServlet.doPost(PostEditBlogServlet.java:43)at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)at java.lang.Thread.run(Thread.java:619)
7 调试信息中说:catetory_id这个属性字段在数据库中没有。让后我去查找数据库的时候发现,应该是category。改了以后发现还是不对。原来在ems sqlmanager当中属性字段有的是缩写,因为格子太小了。当我仔细查找sql语句的时候发现,原来拼写错误,catetory中t应该改给g
8 对于sql语句来说,如果是整数,比如说id这一类的,可以不加''.但是如果是字符串的属性名称,必须加上''.因为在数据库中的字符串是用'',标识的。
9 在doPost会报错。
request.getRequestDispatcher("/servlet/AddBlogServlet").forward(request,
response);
PreEditBlogServlet.java
package cn.com.blog;import java.io.IOException;
import java.io.PrintWriter;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import cn.com.bean.Blog;public class PreEditBlogServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("utf-8");String id = request.getParameter("id");java.sql.Connection con;ResultSet resultSet = null;try {Class.forName("com.mysql.jdbc.Driver");con = DriverManager.getConnection("jdbc:mysql://localhost:3306/new_db", "root", "");java.sql.Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);String sql = "select * from blog where id =" + id;resultSet = stmt.executeQuery(sql);while (resultSet.next()) {Blog blog=new Blog();blog.setId(Integer.parseInt(id));blog.setCategory_id(Integer.parseInt(resultSet.getString(2)));blog.setTitle( resultSet.getString(3));blog.setContent(resultSet.getString(4));blog.setCreated_time(resultSet.getString(5));request.setAttribute("blog", blog);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}request.getRequestDispatcher("/editBlog.jsp").forward(request,response);}}
PostEditBlogServlet.java
package cn.com.blog;import java.io.IOException;
import java.io.PrintWriter;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class PostEditBlogServlet extends HttpServlet {public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("utf-8");String id=request.getParameter("id");String title = request.getParameter("title");String content = request.getParameter("content");String categoryId = request.getParameter("categoryId");int flag = 0;java.sql.Connection con;try {Class.forName("com.mysql.jdbc.Driver");con = DriverManager.getConnection("jdbc:mysql://localhost:3306/new_db", "root", "");java.sql.Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);String sql = "update blog set " +" title='"+title+"',content='"+content+"',category_id = "+categoryId+" where id = "+id;flag = stmt.executeUpdate(sql);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}String message=null;if(flag==1){message="success";request.setAttribute("message", message);}else{message="lost";request.setAttribute("message", message);}request.getRequestDispatcher("/editResult.jsp").forward(request,response);}}
editBlog.jsp
<%@ page language="java" import="java.util.*" contentType="text/html;charset=utf-8" %>
<%@page import="cn.com.bean.Blog"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style type="text/css">
<!--
.STYLE1 {font-size: 24px}
-->
</style>
</head><% Blog blog=(Blog)request.getAttribute("blog");%><body>
<p class="STYLE1">请输入博文内容</p>
<form id="form1" name="form1" method="post" action="/liuwei/servlet/PostEditBlogServlet"><input name="id" type="hidden" value="<%=blog.getId() %>"/><table width="653" height="349" border="0"><tr><td width="175">主题:</td><td width="468"><label><input name="title" type="text" size="60" value="<%=blog.getTitle() %>" /></label></td></tr><tr><td>类别:</td><td><p><label><select name="categoryId"><option value="2">心情故事</option><option value="3">旅游故事</option></select></label><br /></p></td></tr><tr><td>内容:</td><td><label><textarea name="content" cols="60" rows="30" id="content"><%=blog.getContent() %></textarea></label></td></tr><tr><td><label></label></td><td><label><input type="submit" name="Submit" value="提交" /><input type="reset" name="Submit2" value="重置" /></label></td></tr><tr><td><a href="http://localhost:8088/liuwei/servlet/GetBlogListServlet">查看所有博客内容</a></td><td> </td></tr><tr><td> </td><td> </td></tr></table>
</form>
<p> </p>
</body>
</html>
blog 修改博客文章相关推荐
- 一次批量修改博客文章的经验(下):操作过程
上一篇文章中我们进行了一些预备工作,主要是了解了该如何使用MetaWeblog API读取和修改博客园的文章--包括同步和异步两种调用方式.此外,由于F#在异步调用方面的优势,我决定使用F#来完成批量 ...
- Android博客文章整理
闭关了四个多月,整理了博客上所有的Android文章,一共划分为三大篇,十六个章节,820页,系统地分析了Android系统的源代码,从Linux内核层.HAL层.运行时库层到应用程 ...
- 使用IntelliJ IDEA开发SpringMVC网站(五)博客文章管理
原文:使用IntelliJ IDEA开发SpringMVC网站(五)博客文章管理 摘要 通过对博客文章的管理,实现外键操作. 目录[-] 八.博客文章管理 1.查看文章 2.添加博客 3 ...
- Sybase数据库技术,数据库恢复---分享Sybase数据库知识(博客文章索引@51cto)
Sybase数据库技术,数据库恢复 分享Sybase数据库知识 博客文章列表,更新时间:2014-12-14 Sybase数据库技术,数据库恢复 站点地图 最新文章 ASE使用with ignore_ ...
- HelloDjango 第 08 篇:开发博客文章详情页
作者:HelloGitHub-追梦人物 文中涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 首页展示的是所有文章的列表,当用户看到感兴趣的文章时,他点击文章的标题或者继续阅读的按 ...
- Python 爬虫自动访问点击刷CSDN博客文章阅读量
一段小代码,可以帮助自动刷CSDN阅读量,感兴趣的朋友可以复制代码,然后把自己博客文章的URL修改一下就可以了,两个都修改之后可以使用了,帮助那些有需要的人 # 导入需要用到的库 import req ...
- Django 博客开发教程 8 - 博客文章详情页
首页展示的是所有文章的列表,当用户看到感兴趣的文章时,他点击文章的标题或者继续阅读的按钮,应该跳转到文章的详情页面来阅读文章的详细内容.现在让我们来开发博客的详情页面,有了前面的基础,开发流程都是一样 ...
- Python爬虫自学与实战,爬一下自己的博客文章
文章目录 1. 什么是爬虫 2. 学习爬虫的必备知识 3. 环境准备 4. 爬虫的第一步,获取网页的HTML内容 4.1 GET 4.2 POST 5. 使用BeautifulSoup模块来从HTML ...
- scrapy爬取博客文章
锦瑟无端五十弦,一弦一柱思华年.庄生晓梦迷蝴蝶,望帝春心托杜鹃. 沧海月明珠有泪,蓝田日暖玉生烟.此情可待成追忆,只是当时已惘然. --李商隐<锦瑟> 编译环境:linux 编译器:ipy ...
最新文章
- 在OpenShift平台上验证NVIDIA DGX系统的分布式多节点自动驾驶AI训练
- 百分制转化为五级制java_javav 的日志-编写存储过程,将百分制成绩,转换成绩等级’A’,’B’,’C’,’D’,’E’...
- 第五周课程总结实验报告(三)
- 4款.Net报表控件优势对比分析
- 【BZOJ-3730】震波 动态点分治 + 树状数组
- centos7环境下搭建storm集群
- Ubuntu18.04LTS+Anaconda+Tensorflow-GPU安装记录
- ios上传图片 java_iOS ASIFormDataRequest上传图片 前后台代码
- 基于Unity开发的鼠标打飞碟游戏设计
- 阿里云“芝麻信用互查”产品接入使用过程中遇到的那些坑以及解决方案
- MATLAB 基础知识 数据类型 分组数组 创建分类数组
- 【Atheros】minstrel速率调整算法源码走读
- java 获取est时间_将日期字符串(EST)转换为Java日期(UTC)
- python去除图片背景(透明色)
- python pdf提取数据_python从PDF中提取数据的示例
- 使用Java做ORC图片识别
- ubuntu下git使用Beyond Compare来做diff和merge方法
- SpringBoot 优雅实现动态数据源切换配置
- WIN11从MSDN重新安装后 应用商店打不开 报错 0x80131500 0x00000194 报错 0x80240438
- Arcpy获取道路交叉口
热门文章
- 绝地求生左下角服务器显示,绝地求生提示selectregion(server)是什么意思 问题解决方法...
- 能源互联网计量柜系统
- 宽带运营商大数据和机器学习支出将突破500亿美元
- HC15产品设计初衷
- 32-SpringBoot 集成阿里云对象存储OSS
- 机器学习笔记入门 (三)
- android短视频列表自动播放,刷宝短视频如何自动播放下一个 自动播放下一个方法...
- python scale标准化函数_归一化与标准化
- 将本地项目通过git 上传到github上教程
- Error:(22, 58) java: 无法访问com.fasterxml.jackson.databind.JavaType 找不到com.fasterxml.jackson.databind