阿里巴巴Java面试都问些什么,基于java eclipse

登录:

根据不同账号角色进行登录

首页:

首页主要是利用css等进行简单的布局、左侧是菜单栏、中间是系统介绍、右上角是个人中心和账户信息以及注销。

学生管理:

添加学生

学生列表:

管理员拥有编辑删除权限、老师拥有编辑权限。学生只能查看信息。

老师管理:

添加老师信息

查看老师列表信息:

成绩管理:

学生成绩信息查看

个人中心:

个人中心随意做了一个alert弹窗

部分代码实现:


登录前端:


<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title>学生信息管理系统</title>

<script src="js/jquery-1.8.3.min.js" type="text/javascript"></script>

<script src="js/login.js" type="text/javascript"></script>

<link href="css/style.css" rel="stylesheet" type="text/css">

</head>

<body>

	<center>

		<div class="login">

			<div class="login_head">

				<h3>登录</h3>

			</div>

			<div class="login_window">

				<div>

					<label>账号:</label> <br> <input type="text" name="ope_name"

						id="ope_name">

				</div>

				<div>

					<label>密码:</label> <br> <input type="password" name="ope_pwd"

						id="ope_pwd">

				</div>

				<input

					style="width:60px; float:right; margin-top:10px;margin-right:20px;"

					type="button" value="登录" onclick="login()">

			</div>

		</div>

	</center>

</body>

</html>

登录后台servlet:


package impl;



import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.util.ArrayList;

import java.util.List;



import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpSession;



import util.DB;

import dao.ILogin;

import entity.Operator;

import entity.Privilege;



public class LoginImpl implements ILogin {

	private PrivilegeImpl1 privilegeImpl = new PrivilegeImpl1();

	private RoleImpl roleImpl = new RoleImpl();

	private List<Privilege> list_privilege;

	private PreparedStatement pst;

	private Operator log_operator;

	private HttpSession session;

	private String checkResult;

	private Connection conn;

	private ResultSet rs;



	// 登录验证

	public String login(HttpServletRequest request, Operator operator) {

		session = request.getSession();

		checkResult = "success";

		log_operator = new Operator();

		try {

			conn = DB.getConn();

			pst = conn

					.prepareStatement("SELECT * FROM operator WHERE ope_name = ?");

			pst.setString(1, operator.getName());

			rs = pst.executeQuery();

			if (!rs.next()) {

				checkResult = "账户不存在,请重新输入!";

				session.setAttribute("isLogin", "false");

			} else {

				if (!operator.getPwd().equals(rs.getString(3))) {

					checkResult = "您输入的密码不正确,请重新输入!";

					session.setAttribute("isLogin", "false");

				} else {

					// 登录成功

					session.setAttribute("isLogin", "true");



					// 获得该用户的完整信息

					log_operator.setId(rs.getInt(1));

					log_operator.setName(rs.getString(2));

					log_operator.setPwd(rs.getString(3));

					log_operator.setRole(roleImpl.query("rol_id",

							rs.getString(4)).get(0));

					session.setAttribute("log_operator", log_operator);



					// 根据用户,获取对应的角色对应的权限

					list_privilege = privilegeImpl.query("rol_id", log_operator

							.getRole().getId()

							+ "");

					List<Privilege> list = new ArrayList<Privilege>();

					list.add(list_privilege.get(0));

					

					for (int i = 1; i < list_privilege.size(); i++) {

                          int y=0;

						for(int x=0;x<list.size();x++){

							

							if(!list.get(x).getMenu_name().equals(

									list_privilege.get(i).getMenu_name())){

								y++;

							}

						}

						if (y==list.size()) {

							list.add(list_privilege.get(i));



						}



					}

					session.setAttribute("list", list);

					session.setAttribute("list_privilege", list_privilege);

				}

			}

		} catch (Exception e) {

			e.printStackTrace();

		} finally {

			DB.close(conn, pst, rs);

		}

		return checkResult;

	}

}

链接数据库:

利用最基本的jdbc进行链接


package util;



import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;



public class DB {

	// 获取数据库连接

	public static Connection getConn() {

		Connection conn = null;

		String url = "jdbc:mysql://localhost:3306/jsp_studentmanager?characterEncoding=utf8";

		String name = "root";

		String pwd = "123456";

		try {

			Class.forName("com.mysql.jdbc.Driver");

			conn = DriverManager.getConnection(url, name, pwd);

		} catch (Exception e) {

			e.printStackTrace();

		}

		return conn;

	}



	// 关闭对象 释放资源

	public static void close(Connection conn, PreparedStatement pst,

			ResultSet rs) {

		try {

			if (rs != null)

				rs.close();

			if (pst != null)

				pst.close();

			if (conn != null)

				conn.close();

		} catch (Exception e) {

			e.printStackTrace();

		}

	}

}

部分表结构:


学生表:


CREATE TABLE `NewTable` (

`stu_id`  int(11) NOT NULL AUTO_INCREMENT ,

`ope_id`  int(11) NULL DEFAULT NULL ,

`stu_no`  varchar(22) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,

`stu_name`  varchar(22) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,

`stu_sex`  enum('男','女') CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '男' ,

`stu_birth`  date NULL DEFAULT NULL ,

`stu_pic`  varchar(22) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,

`cla_id`  int(11) NULL DEFAULT NULL ,

PRIMARY KEY (`stu_id`),

FOREIGN KEY (`cla_id`) REFERENCES `classes` (`cla_id`) ON DELETE CASCADE ON UPDATE CASCADE,

FOREIGN KEY (`ope_id`) REFERENCES `operator` (`ope_id`) ON DELETE CASCADE ON UPDATE CASCADE,

UNIQUE INDEX `uni_no` (`stu_no`) USING BTREE ,

UNIQUE INDEX `uni_ope` (`ope_id`) USING BTREE ,

INDEX `fk_stu_cla` (`cla_id`) USING BTREE ,

INDEX `fk_stu_ope` (`ope_id`) USING BTREE 

)


# 文末java面试题,进阶技术大纲,架构资料分享

我将这三次阿里面试的题目全部分专题整理出来,并附带上详细的答案解析,生成了一份**PDF文档**,有兴趣的朋友们[可以点击这里即可免费领取](https://gitee.com/vip204888/java-p7)

*   **第一个要分享给大家的就是算法和数据结构**

![网易严选Java开发三面面经:HashMap+JVM+索引+消息队列](https://img-blog.csdnimg.cn/img_convert/9085dbf8d9d275eab39204ef48a2562a.png)

*   **第二个就是数据库的高频知识点与性能优化**

![网易严选Java开发三面面经:HashMap+JVM+索引+消息队列](https://img-blog.csdnimg.cn/img_convert/23104399982cb3c920db299e13670822.png)

*   **第三个则是并发编程(72个知识点学习)**

![网易严选Java开发三面面经:HashMap+JVM+索引+消息队列](https://img-blog.csdnimg.cn/img_convert/a31ea1be7fdbd3b8ffdb3f1de0efc0d7.png)

*   **最后一个是各大JAVA架构专题的面试点+解析+我的一些学习的书籍资料**

![网易严选Java开发三面面经:HashMap+JVM+索引+消息队列](https://img-blog.csdnimg.cn/img_convert/b8aba59aff00f39f817182f3e1ea3555.png)

SING BTREE ,

INDEX `fk_stu_ope` (`ope_id`) USING BTREE 

)


# 文末java面试题,进阶技术大纲,架构资料分享

我将这三次阿里面试的题目全部分专题整理出来,并附带上详细的答案解析,生成了一份**PDF文档**,有兴趣的朋友们[可以点击这里即可免费领取](https://gitee.com/vip204888/java-p7)

*   **第一个要分享给大家的就是算法和数据结构**

[外链图片转存中...(img-TZqiQwLj-1628236935824)]

*   **第二个就是数据库的高频知识点与性能优化**

[外链图片转存中...(img-UTQ5ADl4-1628236935826)]

*   **第三个则是并发编程(72个知识点学习)**

[外链图片转存中...(img-m0Mn5ljM-1628236935828)]

*   **最后一个是各大JAVA架构专题的面试点+解析+我的一些学习的书籍资料**

[外链图片转存中...(img-npi4TE8s-1628236935830)]

还有更多的Redis、MySQL、JVM、Kafka、微服务、Spring全家桶等学习笔记这里就不一一列举出来
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值