2020年8月10日
今天在公司在昨天的基础上增加了两表联查,和分页语句
回顾总结项目整体思路:bean放学生,班级实体例,
dao是连接数据库,其中BaseDao连接池,studentDao 声明增删查改,
studentDaoImpl具体写sql语句,参数
handler两表联查,得新表
studentTest先在控制台,内部服务器 run Application测试,为确保后端没问题
servlet增删查改卸载一个服务器上,通过Type 标识,
入门验证,用户输入得参数全部都不能为空
待完善验证,如pwd 由字母,数字,特殊字符等组成
id,classid都要是数据库里的
package org.lanqiao.servlet;
import java.io.IOException;
import java.util.List;
import javax.security.auth.message.callback.PrivateKeyCallback.Request;
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 org.lanqiao.bean.ResponseData;
import org.lanqiao.bean.Student;
import org.lanqiao.dao.StudentDao;
import org.lanqiao.dao.impl.StudentDaoImpl;
import com.google.gson.Gson;
@WebServlet("/StudentServlet")
public class StudentServlet extends HttpServlet {
StudentDao dao=new StudentDaoImpl();
HttpServletRequest request;
HttpServletResponse response;
Gson gson=new Gson();
//返回的数据包
ResponseData data=new ResponseData();
@Override
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.request=request;
this.response=response;
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setHeader("Content-Type", "text/html;charset=utf-8");
//用户需要执行的操作
String type=getString("type");
if (type!=null) {
switch (type) {
case "add":
add() ;
break;
case "delete":
delete() ;
break;
case "update":
update() ;
break;
case "select":
select() ;
break;
default:
break;
}
}else {
data.setCode(3);
data.setMsg("缺少type参数");
}
response.getWriter().write(gson.toJson(data));
}
//分页查询
private void select() {
//默认第一页
Integer pageIndex=isNull("pageIndex")?1:getInt("pageIndex");
//默认每页显示5条记录
Integer pageSize=isNull("pageSize")?5:getInt("pageSize");
List<Student> getStudentPaging = dao.GetStudentPaging(pageIndex, pageSize);
//返回回去的数据
data.setData(getStudentPaging);
}
private void update() {
System.out.println("update");
String name=getString("name");
String pwd=getString("pwd");
Integer classid=getInt("classid");
Integer id=getInt("id");
if (name==null||pwd==null||classid==null||id==null) {
data.setCode(3);
data.setMsg("参数不全");
return;
}
Integer i = dao.updateStudent(new Student(id, name, pwd, classid));
if (i>0) {
data.setCode(2);
data.setData(i);
}else {
data.setCode(3);
data.setMsg("服务器异常、请稍后再试!!!");
}
}
private void delete() {
System.out.println("delete");
Integer id=getInt("id");
if (id==null) {
data.setCode(3);
data.setMsg("删除的ID不能为空!");
return;
}
Integer i = dao.deleteStudentById(id);
if (i>0) {
data.setCode(2);
data.setData(i);
}else {
data.setCode(3);
data.setMsg("服务器异常、请稍后再试!!!");
}
}
private void add() {
System.out.println("update");
String name=getString("name");
String pwd=getString("pwd");
Integer classid=getInt("classid");
if (name==null||pwd==null||classid==null) {
data.setCode(3);
data.setMsg("参数不全");
return;
}
Integer i = dao.addStudent(new Student(name, pwd, classid));
if (i>0) {
data.setCode(2);
data.setData(i);
}else {
data.setCode(3);
data.setMsg("服务器异常、请稍后再试!!!");
}
}
//判断用户传递的参数是否为空
public boolean isNull(String key) {
return request.getParameter(key)==null;
}
//获取用户传递过来的整形
public Integer getInt(String key) {
if (!isNull(key))
return Integer.parseInt(request.getParameter(key));
return null;
}
//获取用户传递过来的字符串
public String getString(String key) {
if (!isNull(key))
return request.getParameter(key);
return null;
}
}
遗忘知识