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 修改博客文章相关推荐

  1. 一次批量修改博客文章的经验(下):操作过程

    上一篇文章中我们进行了一些预备工作,主要是了解了该如何使用MetaWeblog API读取和修改博客园的文章--包括同步和异步两种调用方式.此外,由于F#在异步调用方面的优势,我决定使用F#来完成批量 ...

  2. Android博客文章整理

             闭关了四个多月,整理了博客上所有的Android文章,一共划分为三大篇,十六个章节,820页,系统地分析了Android系统的源代码,从Linux内核层.HAL层.运行时库层到应用程 ...

  3. 使用IntelliJ IDEA开发SpringMVC网站(五)博客文章管理

    原文:使用IntelliJ IDEA开发SpringMVC网站(五)博客文章管理 摘要 通过对博客文章的管理,实现外键操作. 目录[-] 八.博客文章管理 1.查看文章 2.添加博客        3 ...

  4. Sybase数据库技术,数据库恢复---分享Sybase数据库知识(博客文章索引@51cto)

    Sybase数据库技术,数据库恢复 分享Sybase数据库知识 博客文章列表,更新时间:2014-12-14 Sybase数据库技术,数据库恢复 站点地图 最新文章 ASE使用with ignore_ ...

  5. HelloDjango 第 08 篇:开发博客文章详情页

    作者:HelloGitHub-追梦人物 文中涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 首页展示的是所有文章的列表,当用户看到感兴趣的文章时,他点击文章的标题或者继续阅读的按 ...

  6. Python 爬虫自动访问点击刷CSDN博客文章阅读量

    一段小代码,可以帮助自动刷CSDN阅读量,感兴趣的朋友可以复制代码,然后把自己博客文章的URL修改一下就可以了,两个都修改之后可以使用了,帮助那些有需要的人 # 导入需要用到的库 import req ...

  7. Django 博客开发教程 8 - 博客文章详情页

    首页展示的是所有文章的列表,当用户看到感兴趣的文章时,他点击文章的标题或者继续阅读的按钮,应该跳转到文章的详情页面来阅读文章的详细内容.现在让我们来开发博客的详情页面,有了前面的基础,开发流程都是一样 ...

  8. Python爬虫自学与实战,爬一下自己的博客文章

    文章目录 1. 什么是爬虫 2. 学习爬虫的必备知识 3. 环境准备 4. 爬虫的第一步,获取网页的HTML内容 4.1 GET 4.2 POST 5. 使用BeautifulSoup模块来从HTML ...

  9. scrapy爬取博客文章

    锦瑟无端五十弦,一弦一柱思华年.庄生晓梦迷蝴蝶,望帝春心托杜鹃. 沧海月明珠有泪,蓝田日暖玉生烟.此情可待成追忆,只是当时已惘然. --李商隐<锦瑟> 编译环境:linux 编译器:ipy ...

最新文章

  1. 在OpenShift平台上验证NVIDIA DGX系统的分布式多节点自动驾驶AI训练
  2. 百分制转化为五级制java_javav 的日志-编写存储过程,将百分制成绩,转换成绩等级’A’,’B’,’C’,’D’,’E’...
  3. 第五周课程总结实验报告(三)
  4. 4款.Net报表控件优势对比分析
  5. 【BZOJ-3730】震波 动态点分治 + 树状数组
  6. centos7环境下搭建storm集群
  7. Ubuntu18.04LTS+Anaconda+Tensorflow-GPU安装记录
  8. ios上传图片 java_iOS ASIFormDataRequest上传图片 前后台代码
  9. 基于Unity开发的鼠标打飞碟游戏设计
  10. 阿里云“芝麻信用互查”产品接入使用过程中遇到的那些坑以及解决方案
  11. MATLAB 基础知识 数据类型 分组数组 创建分类数组
  12. 【Atheros】minstrel速率调整算法源码走读
  13. java 获取est时间_将日期字符串(EST)转换为Java日期(UTC)
  14. python去除图片背景(透明色)
  15. python pdf提取数据_python从PDF中提取数据的示例
  16. 使用Java做ORC图片识别
  17. ubuntu下git使用Beyond Compare来做diff和merge方法
  18. SpringBoot 优雅实现动态数据源切换配置
  19. WIN11从MSDN重新安装后 应用商店打不开 报错 0x80131500 0x00000194 报错 0x80240438
  20. Arcpy获取道路交叉口

热门文章

  1. 绝地求生左下角服务器显示,绝地求生提示selectregion(server)是什么意思 问题解决方法...
  2. 能源互联网计量柜系统
  3. 宽带运营商大数据和机器学习支出将突破500亿美元
  4. HC15产品设计初衷
  5. 32-SpringBoot 集成阿里云对象存储OSS
  6. 机器学习笔记入门 (三)
  7. android短视频列表自动播放,刷宝短视频如何自动播放下一个 自动播放下一个方法...
  8. python scale标准化函数_归一化与标准化
  9. 将本地项目通过git 上传到github上教程
  10. Error:(22, 58) java: 无法访问com.fasterxml.jackson.databind.JavaType 找不到com.fasterxml.jackson.databind