javaweb核心:管理员系统的一些小坑记录

系统代码地址:代码下载查看地址

  1. 创建数据库以及表时一定要在创建的时候就指定编码为utf8,否则会出现乱码,创建完之后修改编码方式也可能是无效的,只能重新删除创建。(有很多关于修改编码方式解决乱码问题的,但是我试了很多都无效,最后只有删除重新创建并且在创建之初就指定编码方式为utf8才有效)。
-- 创建管理员表
CREATE TABLE `manager`(
	`mid` INT PRIMARY KEY AUTO_INCREMENT,
	username VARCHAR(20),
	`password` VARCHAR(20)
)CHARACTER SET utf8 COLLATE utf8_general_ci

同时在数据库连接工具类中也要指定编码方式:dbUrl = "jdbc:mysql://localhost:3306/homework_javaweb01?characterEncoding=UTF-8"
2. 记住JSP中代码也是从上往下执行的,所以jsp中越上面的代码会越先执行。而对于<%%>区域中的java代码本质就是会转化为servlet中的service()方法执行,所以就算分成几段(几个<%%>)中的代码,只要看作都是在一个service()方法中执行就可以理解为啥不在同一段<%%>中定义的变量,在后面<%%>中也能获取使用了
3. 总结前端与servlet的几种传值方式:前端与servlet的几种传值方式
4. JSP的执行顺序是从上到下的,因此java部分代码和html之间是可以互相夹杂的(但是注意被夹住的html内容必须要是html的,不能先写java代码,这样会误以为html内容是java代码而报错)
比如:

<%
    //获取删除结果并使用弹窗alert显示删除结果
    String deleteResult = (String) request.getAttribute("deleteResult");
    System.out.println("删除结果:" + deleteResult);
    if (deleteResult != null) {
%>
<script type="text/javascript">
    alert("<%=deleteResult%>");
</script>
<%
    }
%>

当然,也可以用out.print()直接输出加上标签的字符串,比如:

for (Student s : students) {
   out.print("<tr>" + "<td>" + s.getsNum() + "</td>" +
           "<td>" + s.getStuName() + "</td>" +
           "<td>" + s.getGender() + "</td>" +
           "<td>" + s.getBirthday() + "</td>" +
           "<td>" + s.getEmail() + "</td>" +
           "<td>" + s.getRemark() + "</td>" +
           "<td>" +
           "<a href=\"updateTransfer?sNum=" + s.getsNum()  //就是这边直接传学号到转发servlet即可
           + "\" class=\"btn btn-warning\">修改</a> &nbsp; &nbsp;" +
           "<a class=\"btn btn-danger\"  οnclick=\"deleteConfirm(" + s.getsNum() +")\">删除</a>" +
           "</td>" +
           "</tr>");
}
  1. 表单回显功能怎么实现:查询–>显示
    表单回显实现
  2. 管理员id在登录之后是应该通用的,因此要在登录之后用application内置对象设置为全局变量。用session会在半小时后无效,不行
<%
    //获取当前登录的管理员id
    int mid = ((Manager) session.getAttribute("manager")).getMid();
    //登录成功之后该管理员信息将是在整个服务器上所有用户(servlet)之间共享
    application.setAttribute("mid", mid);
%>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值