package com.flash.servlet;import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import com.flash.factory.DaoFactory;
import com.flash.vo.Expert;public class ExpertServlet extends HttpServlet { private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { String path = "error.jsp";
String flag = request.getParameter("flag");
Expert expert = new Expert();
if ("addExpert".equals(flag)) {
String userID = (String) request.getSession()
.getAttribute("userID");
String e_name = request.getParameter("e_name");
String e_work = request.getParameter("e_work");
String e_field = request.getParameter("e_field");
String e_phone = request.getParameter("e_phone");
String e_address = request.getParameter("e_address");
expert.setU_id(Integer.parseInt(userID.trim()));
expert.setE_name(e_name);
expert.setE_work(e_work);
expert.setE_field(e_field);
expert.setE_phone(e_phone);
expert.setE_address(e_address);
if (DaoFactory.getExpertDAOImplInstance().addExpert(expert) != 0) {
request.setAttribute("u_id", userID);
if (request.getSession().getAttribute("admin") != null) {
path = "./admin/news/add_do.jsp";
} else {
path = "./experts/e_do.jsp";
}
}
}
request.getRequestDispatcher(path).forward(request, response);
}
}提交表单执行servlet时只显示error.jsp网页,表单数据也提交不到数据库中,这是为什么啊?哪位大神给说一下!
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import com.flash.factory.DaoFactory;
import com.flash.vo.Expert;public class ExpertServlet extends HttpServlet { private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { String path = "error.jsp";
String flag = request.getParameter("flag");
Expert expert = new Expert();
if ("addExpert".equals(flag)) {
String userID = (String) request.getSession()
.getAttribute("userID");
String e_name = request.getParameter("e_name");
String e_work = request.getParameter("e_work");
String e_field = request.getParameter("e_field");
String e_phone = request.getParameter("e_phone");
String e_address = request.getParameter("e_address");
expert.setU_id(Integer.parseInt(userID.trim()));
expert.setE_name(e_name);
expert.setE_work(e_work);
expert.setE_field(e_field);
expert.setE_phone(e_phone);
expert.setE_address(e_address);
if (DaoFactory.getExpertDAOImplInstance().addExpert(expert) != 0) {
request.setAttribute("u_id", userID);
if (request.getSession().getAttribute("admin") != null) {
path = "./admin/news/add_do.jsp";
} else {
path = "./experts/e_do.jsp";
}
}
}
request.getRequestDispatcher(path).forward(request, response);
}
}提交表单执行servlet时只显示error.jsp网页,表单数据也提交不到数据库中,这是为什么啊?哪位大神给说一下!
1."addExpert".equals(flag) //flag的值是否为addExpert
2.if (DaoFactory.getExpertDAOImplInstance().addExpert(expert) != 0) //是否不等于0
</form>
把 flag 写成 <input type="hidden" name="flag" value="addExpert">
不用?形式传递。
servlet中,确认全部request.get...是否正确;
确保getExpertDAOImplInstance().addExpert(expert) 没有异常。
看你的结果,flag肯定不是addExpert,但是看你页面表单的内容,flag应该是addExpert,你还是调试一下
package com.flash.vo;public class Expert { private int e_id;
private int u_id;
private String e_name;
private String e_work;
private String e_field;
private String e_phone;
private String e_address;
private String e_date;
public int getE_id() {
return e_id;
}
public void setE_id(int eId) {
e_id = eId;
}
public int getU_id() {
return u_id;
}
public void setU_id(int uId) {
u_id = uId;
}
public String getE_name() {
return e_name;
}
public void setE_name(String eName) {
e_name = eName;
}
public String getE_work() {
return e_work;
}
public void setE_work(String eWork) {
e_work= eWork;
}
public String getE_field() {
return e_field;
}
public void setE_field(String eField) {
e_field = eField;
}
public String getE_phone() {
return e_phone;
}
public void setE_phone(String ePhone) {
e_phone = ePhone;
}
public String getE_address() {
return e_address;
}
public void setE_address(String eAddress) {
e_address = eAddress;
}
public String E_date() {
return e_date;
}
public void setE_date(String eDate) {
e_date = eDate;
}
}
import com.flash.vo.Expert;public interface ExpertDao {
public int addExpert(Expert expert);
public int deleteExpertByid(int id);
public List getAllExpert(int startNo, int pageSize , int e_id,int u_id,String e_name,String e_work,String e_field,String e_phone,
String e_address,String e_date);
public Expert getExpertByid(String flag , int id);
}
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;import com.flash.dao.ExpertDao;
import com.flash.util.DBconn;
import com.flash.vo.Expert;public class ExpertDaoImpl implements ExpertDao {
DBconn db = new DBconn();
Connection conn = null;
java.sql.PreparedStatement prem = null;
ResultSet rs = null; public int addExpert(Expert expert) {
int i = 0;
conn = db.getConnection();
String sql = "insert into tbl_experts(u_id,e_name,e_work,e_field,e_phone,e_address , e_date) values(? , ? , ? , ? ,? , ?, now())";
try {
prem = conn.prepareStatement(sql);
prem.setInt(1, expert.getU_id());
prem.setString(2,expert.getE_name());
prem.setString(3,expert.getE_work());
prem.setString(4,expert.getE_field());
prem.setString(5, expert.getE_phone());
prem.setString(6, expert.getE_address());
i= prem.executeUpdate();
} catch (Exception e) {
// TODO: handle exception
} finally {
db.close();
}
return i;
} public int deleteExpertByid(int id) {
// TODO Auto-generated method stub
return 0;
} public List getAllExpert(int startNo, int pageSize, int e_id, int u_id,
String e_name, String e_work, String e_field, String e_phone,
String e_address, String e_date) {
// TODO Auto-generated method stub
return null;
} public Expert getExpertByid(String flag, int id) {
// TODO Auto-generated method stub
return null;
}
import com.flash.dao.impl.ExpertDaoImpl;
public class DaoFactory { public static ExpertDaoImpl getExpertDAOImplInstance() {
return new ExpertDaoImpl();
}}