老師,為何報空指針錯誤???
jsp代碼
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<meta charset="UTF-8">
<title>新建留言</title>
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/add.css">
</head>
<body>
<nav class="navbar navbar-default">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand" href="#">
慕课网留言板
</a>
</div>
</div>
</nav>
<div class="container">
<div class="jumbotron">
<h1>Hello, ${user.name}!</h1>
<p>既然来了,就说点什么吧</p>
</div>
<div class="page-header">
<h3><small>新建留言</small></h3>
</div>
<form class="form-horizontal" action="${pageContext.request.contextPath}/edit_msg" method="post">
<input type="hidden" name="id" value="add">
<div class="form-group">
<label for="inputTitle" class="col-sm-2 control-label">标题 :</label>
<div class="col-sm-8">
<input name="title" class="form-control" id="inputTitle" placeholder="title">
</div>
</div>
<div class="form-group">
<label for="inputContent" class="col-sm-2 control-label">内容 :</label>
<div class="col-sm-8">
<textarea name="content" class="form-control" rows="3" id="inputContent" placeholder="Content"></textarea>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary">发布留言</button>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<a class="btn btn-default" href="">查看留言</a>
</div>
</div>
</form>
</div>
<footer class="text-center" >
copy@imooc
</footer>
</body>
</html>
servlet 代碼
package servlet;
import java.io.IOException;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import domain.Msg;
import domain.User;
import services.MessageServices;
/**
* Servlet implementation class Edit_msg
*/
@WebServlet("/edit_msg")
public class Edit_msg extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public Edit_msg() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String method = request.getParameter("id");
String title = request.getParameter("title");
String content = request.getParameter("content");
User u=(User) request.getAttribute("user");
MessageServices message = new MessageServices();
int userid =0;
try {
userid = message.query(u.getName());
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String username = u.getName();
Msg m= new Msg();
m.setId(userid);
m.setUserName(username);
m.settitle(title);
m.setContent(content);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd-hh:mm:ss");
Date d =new Date();
String date= sdf.format(d);
System.out.println(d);
m.setCreateTime(date);
if(method.equals("add")){
MessageServices ms = new MessageServices();
ms.add(m);
}
request.getRequestDispatcher("/my_message_list.jsp").forward(request, response);
}
}
services代碼
package services;
import java.sql.SQLException;
import Dao.MessageDao;
import domain.Msg;
import domain.User;
public class MessageServices {
public void editMessage(){
}
public Integer query(String name) throws SQLException{
MessageDao md = new MessageDao();
User user= md.query(name);
return user.getId() ;
}
public void add(Msg m) {
MessageDao md = new MessageDao();
md.add(m);
}
}
dao代碼
package Dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import Utils.JDBCUtils;
import domain.Msg;
import domain.User;
public class MessageDao {
ResultSet rs = null;
PreparedStatement ps =null;
Connection conn =null;
public void add(Msg m) {
try {
conn = JDBCUtils.getConnection();
String sql = "insert msg values(null,?,?,?,?,?)";
ps = conn.prepareStatement(sql);
ps.setInt(1, m.getUserId());
ps.setString(2, m.getUserName());
ps.setString(3, m.gettitle());
ps.setString(4, m.getContent());
ps.setString(5, m.getCreateTime());
ps.execute(sql);
JDBCUtils.release(ps, conn);
} catch (SQLException e) {
e.printStackTrace();
}
}
public User query(String name) throws SQLException {
conn = JDBCUtils.getConnection();
String sql = "select * from user where name=?";
ps = conn.prepareStatement(sql);
ps.setString(1, name);
rs= ps.executeQuery();
if(rs.next()){
User u = new User();
u.setId(rs.getInt("id"));
return u;
}
JDBCUtils.release(rs, ps, conn);
return null;
}
}
正在回答 回答被采纳积分+1
- 参与学习 人
- 提交作业 357 份
- 解答问题 8016 个
本阶段将带你学习MySQL数据库,JDBC接口,MyBatis框架等,带你掌握的数据的存放和管理。
了解课程



恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星