BlogServlet.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.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;
import org.apache.commons.dbutils.QueryRunner;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
import com.opensymphony.xwork2.inject.Context;
public class BlogServlet extends HttpServlet {
public BlogServlet() {
super();
}
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String title = request.getParameter("title");
String content = request.getParameter("content");
String categoryId = request.getParameter("categoryId");
Date date=new Date();
int year=date.getYear();
int month=date.getMonth();
int day=date.getDay();
int hour=date.getHours();
int minute=date.getMinutes();
int second=date.getSeconds();
String dateString=year+"-"+month+"-"+day;
dateString+=" "+hour+":"+minute+":"+second;
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 = "insert into blog(title,content,category_id,created_time) VALUES (' "
+ title
+ " ', ' "
+ content
+ " ', ' "
+ categoryId
+ " ', ' "
+ dateString
+ "') ";
flag = stmt.executeUpdate(sql);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String message = null;
if (flag == 1) {
message = "添加成功";
} else {
message = "添加失败";
}
request.setAttribute("message", message);
request.getRequestDispatcher("/addBlogResult.jsp").forward(request,
response);
}
public void init() throws ServletException {
// Put your code here
}
}
GetBlogServlet.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;
public class GetBlogServlet 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;
System.out.println("1");
resultSet = stmt.executeQuery(sql);
System.out.println("2");
while (resultSet.next()) {
request.setAttribute("title", resultSet.getString(3));
request.setAttribute("content", resultSet.getString(4));
request.setAttribute("created_time", resultSet.getString(5));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
request.getRequestDispatcher("/displayBlog.jsp").forward(request,
response);
}
}
1 在测试servlet 的时候路径要注意,先写工程名字,让后是一个servlet,让后是servlet的名称
http://localhost:8088/liuwei/servlet/GetBlogServlet?id=3
2 如果jdbc语句出现before start of result set。
那么应该加上一句话
while(rs.next())
{
}