Jsp&Servlet入门级项目全程实录第8讲
惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧!
1、添加dao
public int studentAdd(Connection con,Student student)throws Exception{
String sql="insert into t_student values(null,?,?,?,?,?,?,?)";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1, student.getStuNo());
pstmt.setString(2, student.getStuName());
pstmt.setString(3, student.getSex());
pstmt.setString(4, DateUtil.formatDate(student.getBirthday(), "yyyy-MM-dd"));
pstmt.setInt(5, student.getGradeId());
pstmt.setString(6, student.getEmail());
pstmt.setString(7, student.getStuDesc());
return pstmt.executeUpdate();
} 2、修改dao
public int studentModify(Connection con,Student student)throws Exception{
String sql="update t_student set stuNo=?,stuName=?,sex=?,birthday=?,gradeId=?,email=?,stuDesc=? where stuId=?";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1, student.getStuNo());
pstmt.setString(2, student.getStuName());
pstmt.setString(3, student.getSex());
pstmt.setString(4, DateUtil.formatDate(student.getBirthday(), "yyyy-MM-dd"));
pstmt.setInt(5, student.getGradeId());
pstmt.setString(6, student.getEmail());
pstmt.setString(7, student.getStuDesc());
pstmt.setInt(8, student.getStuId());
return pstmt.executeUpdate();
} 3、修改servlet
request.setCharacterEncoding("utf-8");
String stuNo=request.getParameter("stuNo");
String stuName=request.getParameter("stuName");
String sex=request.getParameter("sex");
String birthday=request.getParameter("birthday");
String gradeId=request.getParameter("gradeId");
String email=request.getParameter("email");
String stuDesc=request.getParameter("stuDesc");
String stuId=request.getParameter("stuId"); Student student=null;
try {
student=new Student( stuNo, stuName, sex, DateUtil.formatString(birthday, "yyyy-MM-dd"),
Integer.parseInt(gradeId), email, stuDesc);
} catch (Exception e) {
e.printStackTrace();
} if(StringUtil.isNotEmpty(stuId)){
student.setStuId(Integer.parseInt(stuId));
} Connection con=null;
try {
con=dbUtil.getCon();
int saveNums=0;
JSONObject result=new JSONObject();
if(StringUtil.isNotEmpty(stuId)){
saveNums=studentDao.studentModify(con, student);
}else{
saveNums=studentDao.studentAdd(con, student);
}
if(saveNums>0){
result.put("success", "true");
}else{
result.put("success", "true");
result.put("errorMeg", "删除失败");
}
ResponseUtil.write(response, result);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
dbUtil.closeCon(con);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} 封装student
public Student(String stuNo, String stuName, String sex, Date date,
int gradeId, String email, String stuDesc) {
super();
this.stuNo = stuNo;
this.stuName = stuName;
this.sex = sex;
this.birthday = date;
this.gradeId = gradeId;
this.email = email;
this.stuDesc = stuDesc;
} 字符串转日期
public static Date formatString(String str,String format) throws Exception{
SimpleDateFormat sdf=new SimpleDateFormat(format);
return sdf.parse(str);
}
日期转字符串
public static String formatDate(Date date,String format){
String result="";
SimpleDateFormat sdf=new SimpleDateFormat(format);
if(date!=null){
result=sdf.format(date);
}
return result;
} 4、修改web.xml
<servlet>
<servlet-name>studentSaveServlet</servlet-name>
<servlet-class>com.java1234.web.StudentSaveServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>studentSaveServlet</servlet-name>
<url-pattern>/studentSave</url-pattern>
</servlet-mapping> 5、前端(略) 6、email验证
validType="email" 6、隐藏列
<th field="gradeId" width="100" align="center" hidden="true">班级ID</th> 7、重置
function resetValue(){
$('#stuNo').val("");
$('#stuName').val("");
$('#sex').combobox("setValue","");
$('#bbirthday').datebox("setValue","");
$('#gradeId').combobox("setValue","");
$('#email').val("");
$('#stuDesc').val("");
} 8、关闭
function closeStudentDialog() {
$("#dlg").dialog("close");
resetValue();
} 9、添加
function saveStudent(){
$("#fm").form("submit",{
url:url,
onSubmit:function(){
if($('#sex').combobox("getValue")==""){
$.messager.alert("系统提示","请选择性别");
return false;
}
if($('#gradeId').combobox("getValue")==""){
$.messager.alert("系统提示","请选择所属班级");
return false;
}
return $(this).form("validate");
},
success:function(result){
if(result.errorMsg){
$.messager.alert("系统提示",result.errorMsg);
return;
}else{
$.messager.alert("系统提示","保存成功");
resetValue();
$("#dlg").dialog("close");
$("#dg").datagrid("reload");
}
}
});
} 10、修改前端
function openStudentModifyDialog(){
var selectedRows=$("#dg").datagrid('getSelections');
if(selectedRows.length!=1){
$.messager.alert("系统提示","请选择一条要编辑的数据!");
return;
}
var row=selectedRows[0];
$("#dlg").dialog("open").dialog("setTitle","编辑学生信息");
$("#fm").form("load",row);
url="studentSave?stuId="+row.stuId;
} 11、关联判断操作
在删除班级时判断班级下面是否有人?
public boolean getStudentByGradeId(Connection con,String gradeId)throws Exception{
String sql="select * from t_student where gradeId=?";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1, gradeId);
ResultSet rs=pstmt.executeQuery();
if(rs.next()){
return true;
}else{
return false;
}
} String str[]=delIds.split(",");
for(int i=0;i<str.length;i++){
boolean f=studentDao.getStudentByGradeId(con, str[i]);
if(f){
result.put("errorIndex", i);
result.put("errorMsg", "班级下面有学生,不能删除!");
ResponseUtil.write(response, result);
return;
}
} function deleteGrade(){
var selectedRows=$("#dg").datagrid('getSelections');
if(selectedRows.length==0){
$.messager.alert("系统提示","请选择要删除的数据!");
return;
}
var strIds=[];
for(var i=0;i<selectedRows.length;i++){
strIds.push(selectedRows[i].id);
}
var ids=strIds.join(",");
$.messager.confirm("系统提示","您确认要删掉这<font color=red>"+selectedRows.length+"</font>条数据吗?",function(r){
if(r){
$.post("gradeDelete",{delIds:ids},function(result){
if(result.success){
$.messager.alert("系统提示","您已成功删除<font color=red>"+result.delNum+"</font>条数据!");
$("#dg").datagrid("reload");
}else{
$.messager.alert("系统提示",'<font color=red>'+selectedRows[result.errorIndex].gradeName+'</font>'+result.errorMsg);
}
},"json");
}
});
}
Jsp&Servlet入门级项目全程实录第8讲的更多相关文章
- Jsp&Servlet入门级项目全程实录第1讲
惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧! 1.jdbc数据库连接(略) 2.登录表单 2.1设置内边距 <dir style="padding- ...
- Jsp&Servlet入门级项目全程实录第7讲
惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧! 1.获取搜索条件值 function searchStudent(){ $('#dg').datagrid('load ...
- Jsp&Servlet入门级项目全程实录第4讲
惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧! 1.添加搜索.添加.修改.删除按钮 <div id="tb"> <div> ...
- Jsp&Servlet入门级项目全程实录第3讲
惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧! 1.建立数据表及数据(略) 2.装载驱动,建立数据表 <link rel="stylesheet&qu ...
- Jsp&Servlet入门级项目全程实录第2讲
惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧! 1.导入jquery-easyui-1.3.3包( http://www.jeasyui.com/) 2.在页面导入e ...
- Jsp&Servlet入门级项目全程实录第6讲
惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧! 1.建立数据表及数据(略) 2.创建student model package com.java1234.model; ...
- Jsp&Servlet入门级项目全程实录第5讲
惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧! 1.修改功能实现 dao public int gradeAdd(Connection con,Grade grade ...
- JSP/Servlet Web应用中.properties文件的放置与读取
本地项目 在本地类库中,我经常使用当前目录来放置.properties文件,这时调用方只要引用我的jar,并且将我的.properties放在他的classpath里面即可,比如: p.load(ne ...
- 创建jsp+Servlet+JavaBean+JDBC+MySQL项目的过程
1 根据需求建立Mysql数据,确立数据库的表的字段.属性.主键,外键等.下面我使用的数据库名dev ,表名user,字段 name,设置为主键.用户名不能为空,字段password,密码 2 在E ...
随机推荐
- 分享一个经验,代码打开mysql链接,执行存储过程时,提示:Table 'mysql.proc' doesn't exist
先说说的场景 老项目,因为服务器升级了mysql数据库版本,从5.7.13升到8.0.15 然而代码里面有直连数据的访问,通过执行存储过程来查询数据的业务,此时抛出异常 Table 'mysql. ...
- 微信小程序支付C#后端源码
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.W ...
- 浅谈.NET,C#三层架构(自己总结)
三层架构 常见架构: 三层(经典) MVC MVVM MVP 开发中常见的23种设计模式: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种: ...
- 没有过的题QAQ
持续更新...纪念一下我的高分暴力...(好丢人啊qwq) NOI2014 动物园 80pts 用倍增暴力跳nxt数组 #include<iostream> #include<cst ...
- JavaWeb -学生信息管理实践(JDBC+web+三层架构+DBUtil构造思路)
前言: 1 该程序使用动态web项目 2 该程序使用SQL server需导入对应包( 具体可看前篇----JDBC的使用) 3 三层架构思想: ①表示层 前台:jsp/html等 作为前台与用户交互 ...
- php错误控制运算符@
PHP支持一个错误控制运算符:@.当将其放置在一个PHP表达式之前,该表达式可能产生的任何错误信息都被忽略掉. 如果用set_error_handle()设定了自定义的错误处理函数,仍然会被调用,但是 ...
- maven项目报错--Cannot change version of project facet Dynamic Web Module to 3.0 Error in Eclipse
错误原因: 使用ecplise构建的maven骨架默认支持的是web2.3的版本,当使用这个创建3.0版本的web项目时则会报这样的错误: Cannot change version of proje ...
- zookeeper集群环境搭建详细图文教程
zookeeper集群环境搭建详细图文教程 zhoubang @ 2018-01-02 [文档大纲] 友情介绍 软件环境 注意点 环境安装 1. 新建用于存储安装包以及软件安装的目录 2. 下载安装z ...
- 【xsy1058】 单词 乱搞
题目大意:给你$n$个长度为$m$的字符串,字符集仅为{x,y,z}三个字符,定义两个字符串$(s_i,s_j)$的相似度为$\sum_{k=1}^{m} [s_i[k]==s_j[k]]$. 从$0 ...
- 冒泡排序实现(Java)
冒泡排序是一种交换排序,它的基本思路是: 两两比较相邻记录的关键字,如果反序则交换,知道没有反序的记录位置. 依次比较相邻的两个数,将小数放在前面,大数放在后面.即在第一趟:首先比较第1个和第2个数, ...