项目描述
上传时间
浏览人数
1. 立项:
1.1确定需求
(1) 学生登录:可修改密码并查看各个学科分数,分数不可修改
(2) 教师登录:学生分数,密码皆可修改
1.2并建立相应MySQL数据库
这里只使用了一个表格,教师和学生都在其中,教师有更高的权限
Info:999为教师权限.
2. 写Dao层方法
以全查询举例
//全表格查询
public ArrayList<Pojo> searchAll() {
String sql = "SELECT * FROM data.info;";
try {
PreparedStatement pre=connect().prepareStatement(sql);
ResultSet re = pre.executeQuery();
connect().close();
ArrayList<Pojo> ls = new ArrayList<>();
while(re.next()){
Pojo pj = new Pojo();
pj.setIndex(re.getString("index"));
pj.setUsername(re.getString("username"));
pj.setPassword(re.getString("password"));
pj.setGender(re.getString("gender"));
pj.setChinese(re.getString("chinese"));
pj.setMath(re.getString("math"));
pj.setEnglish(re.getString("english"));
pj.setComplex(re.getString("complex"));
pj.setNote(re.getString("note"));
pj.setInfo(re.getString("info"));
ls.add(pj);
}
return ls;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
3. 写pojo类和验证码code类
以验证码举例
package com.demo_score.code;
import java.util.Random;
public class Code {
public String createCode() {
String zm = "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM0123456789";
int len = zm.length();
Random ran=new Random();
String res = "";
for(int i=0;i<4;i++){
int n =ran.nextInt(len);
char c=zm.charAt(n);
res += c;
}
return res;
}
}
4. 使用vue+element-ui搭建前端页面并考虑传值参数
5. 调用Dao层方法和前端页面传参来写servlet接口
以教师修改学生分数和密码为例
/*允许跨域的主机地址*/
response.setHeader("Access-Control-Allow-Origin","*");
/*允许跨域的请求方法GET POST HEAD等*/
response.setHeader("Access-Control-Allow-Methods","*");
/*重新预检验跨域的缓存时间(s)*/
response.setHeader("Access-Control-Max-Age","3600");
/*允许跨域的请求头*/
response.setHeader("Access-Control-Allow-Headers","*");
/*是否携带cookie*/
response.setHeader("Access-Control-Allow-Credentials","true");
String username = request.getParameter("username");
String password = request.getParameter("password");
String gender = request.getParameter("gender");
String chinese = request.getParameter("chinese");
String math = request.getParameter("math");
String english = request.getParameter("english");
String complex = request.getParameter("complex");
String info = request.getParameter("info");
String note = request.getParameter("note");
Dao d = new Dao();
int i = d.update(username, password, gender, chinese, math, english, complex, info,note);
Map<String, Object> mp = new HashMap<>();
mp.put("msg", "ok");
mp.put("data", i);
response.setContentType("text/html;charset=utf-8");
Object obj = JSON.toJSON(mp);
response.getWriter().println(obj);
6. 测试并调整细节
7. 结果展示
(1)未登录
登录界面
(2)学生登录
只可修改密码
修改密码后提示,并且数据库有相应更改