请问还有可以改进的地方吗?

请问还有可以改进的地方吗?

//1:Announcement.java
package announcement;

public class Announcement {
	private String num;
	private String title;
	private String text;
	public Announcement(String num, String title, String text) {
		this.num = num;
		this.title = title;
		this.text = text;
	}
	public String getNum() {
		return num;
	}
	public void setNum(String num) {
		this.num = num;
	}
	public String getTitle() {
		return title;
	}
	public void setTitle(String title) {
		this.title = title;
	}
	public String getText() {
		return text;
	}
	public void setText(String text) {
		this.text = text;
	}
	
}


//=================================================
//2:dbUtil.java
package announcement;

import java.util.HashMap;
import java.util.Map;

public class dbUtil {
	public static Map<String, User> users = new HashMap<String, User>();
	public static Map<String, Announcement> announcements = new HashMap<String, Announcement>();
	static {
		users.put("admin", new User("admin", "admin888", "管理员"));
		announcements.put("101", new Announcement("101", "开学", "请同学们于9月1日前来报到!"));
		announcements.put("102", new Announcement("102", "选课", "开始选课啦!"));
		announcements.put("103", new Announcement("103", "竞选班委", "将于近期评选班干部!"));
		announcements.put("104", new Announcement("104", "评选奖学金", "评选奖学金啦!"));
	}
	public static boolean find (String num) {
		boolean flag =  false;
		for (String key : announcements.keySet()) {
			Announcement temp = announcements.get(key);
			if (num.equals(temp.getNum())) {
				flag = true;
				break;
			}
		}
		
		return flag;
	}

	public static boolean judge(User user) {
		boolean flag = false;
		for (String key : users.keySet()) {
			User temp = users.get(key);
			if (user.getAcount().equals(temp.getAcount()) && user.getPassword().equals(temp.getPassword())) {
				flag = true;
				break;
			}
		}
		return flag;
	}
}

//==========================================
//3.User.java
package announcement;

public class User {
	private String acount;
	private String password;
	private String name;
	public User(String acount, String password, String name) {
		this.acount = acount;
		this.password = password;
		this.name = name;
	}
	
	public String getAcount() {
		return acount;
	}
	public void setAcount(String acount) {
		this.acount = acount;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
}



正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

8回答
好帮手慕阿莹 2018-09-13 10:12:37

作业完成的很好,还有一个小建议,类名首字母应大写。所以dbUtil 建议改为 DBUtil。


如果我的回答解决了你的疑惑,请采纳!祝学习愉快!


  • 我想问一下老师,为什么我自己写的时候,写着写着就会出现红色的线,感觉自己的html标签没有写错,是怎么回事。。但是我把这位同学的代码复制上去,就没有包错了,我检查了一片,和他一样的。。这个是怎么回事/
    2018-10-13 11:06:02
  • 他这个代码逻辑没什么问题,就是,删除编号过后,再返回到上一页,按道理说,应该会少一行,但是还是和原来的数据一样,没有删除任何数据,,
    2018-10-13 11:07:41
  • 如果出现红线有可能是标签没有写完整导致的,也有可能是因为编译不完全导致的,建议同学重新编译以后再试;删除数据以后同学返回显示页应该刷新一下界面,刷新以后数据是否正常呢~
    2018-10-14 10:21:49
提问者 邓承鑫 2018-09-12 20:38:06
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8" import="announcement.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
		String key = request.getParameter("oldName");
		String num = request.getParameter("num");
		String title = request.getParameter("title");
		String text = request.getParameter("text");
		Announcement update = new Announcement(num,title,text);
		dbUtil.announcements.remove(key);
		dbUtil.announcements.put(num, update);
	%>
		<a href="announcement.jsp">修改成功,点击此处返回...</a>
</body>
</html>

update_do.jsp

提问者 邓承鑫 2018-09-12 20:37:29

update.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8" import="announcement.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
	String key = request.getParameter("num");
	Announcement ant =dbUtil.announcements.get(key);
	%>
	<h3 align="center">修改公告信息</h3>
	<form align="center" action="update_do.jsp">
			<input type="hidden" name="oldName" value=<%=key%>>
		<table>
			<tr>
				<td>编号:</td>
				<td><input type="text" name="num" value = <%=ant.getNum() %>></td>
			</tr>
			<tr>
				<td>标题:</td>
				<td><input type="text" name="title"value =<%=ant.getTitle() %>></td>
			</tr>
			<tr>
				<td>内容:</td>
				<td><input type="text" name="text" value = <%=ant.getText() %>></td>
			</tr>
			<tr>
				<td><input type="submit" value="确认修改"></td>
			</tr>
		</table>



	</form>

</body>
</html>


提问者 邓承鑫 2018-09-12 20:37:02

delete.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8" import="announcement.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
		String key = request.getParameter("num");
		if (dbUtil.find(key)) {
			dbUtil.announcements.remove(key);
	%>
	<h5 align ="center">删除成功!!!删除公告标号为:<%=key%></h5>
	<%
		} else {
	%>
	<h5 align="center">删除失败!未找到要删除的项目!</h5>
	<%
		}
	%>
	<form  action="announcement.jsp">
		<table align="center">
			<td><input type="submit" value ="返回上一页!"></td>
		</table>


	</form>

</body>
</html>


  • 你删除编号过后,返回上一页还是有这个编号,,是怎么回事。
    2018-10-13 11:03:32
提问者 邓承鑫 2018-09-12 20:36:30

search.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8" import="announcement.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
		String num = request.getParameter("num");
		Announcement ant = null;
		if (dbUtil.find(num)) {
			ant = dbUtil.announcements.get(num);
	%>
	<table align="center" border="1">
		<tr>
			<td>编号</td>
			<td>名称</td>
			<td>内容</td>
			<td>删除</td>
			<td>修改</td>
		<tr>
		<tr>
			<td><%=ant.getNum()%></td>
			<td><%=ant.getTitle()%></td>
			<td><%=ant.getText()%></td>
			<td><a href="delete.jsp?num=<%=ant.getNum()%>">删除</a></td>
			<td><a href="update.jsp?num=<%=ant.getNum()%>">修改</a></td>
		</tr>
	</table>
	<%
		} else {
	%>
	<h3 align="center">未找到该公告</h3>

	<%
		}
	%>
	<hr>
	<div align="center">
		<a href="announcement.jsp">点击返回上一页...</a>
	</div>
</body>
</html>


提问者 邓承鑫 2018-09-12 20:36:02

announcement.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8" import="announcement.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>公告列表</title>
</head>
<body>
	<br>
	<h3>公告列表为:</h3>
	<br>
	<form action="search.jsp">
	<table align="center" border="1">
		<tr>
			<td>公告编号:</td>
			<td><input type="text" value="请输入要查询的编号" name="num"></td>
			<td><input type="submit" value="查  询"></td>
		<tr>
	</table>
	</form>
	<hr>
	<table align="center" border="1">
		<tr>
			<td>编号</td>
			<td>名称</td>
			<td>内容</td>
			<td>删除</td>
			<td>修改</td>
		<tr>
			<%
				for (Announcement ant : dbUtil.announcements.values()) {
			%>
		
		<tr>
			<td><%=ant.getNum()%></td>
			<td><%=ant.getTitle()%></td>
			<td><%=ant.getText()%></td>
			<td><a href="delete.jsp?num=<%=ant.getNum()%>">删除</a></td>
			<td><a href="update.jsp?num=<%=ant.getNum()%>">修改</a></td>
		</tr>

		<%
			}
		%>

	</table>

</body>
</html>


提问者 邓承鑫 2018-09-12 20:35:34

logon_next.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8" import="announcement.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
		String account = request.getParameter("account");
		String password = request.getParameter("password");
		User user = new User(account, password, null);
		boolean flag = dbUtil.judge(user);
		if (flag) {
			out.println("登陆成功!");
			pageContext.forward("announcement.jsp");
		} else {
	%>
	<div align="center">
		<a href="logon.jsp">登录失败,点此处返回登录菜单...</a>
	</div>
	<%
		}
	%>

</body>
</html>


提问者 邓承鑫 2018-09-12 20:34:55
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登录页面</title>
</head>
<body>
	<h3 align="center">欢迎来到公告系统登录页面!</h3>
	<hr>
	<form action="logon_next.jsp">
		<table align="center" >
			<tr>
				<td>账号:</td>
				<td><input type="text" name="account"></td>
			</tr>
			<tr>
				<td>密码:</td>
				<td><input type="password" name="password"></td>
			</tr>
			<tr>
				<td></td>
				<td><input type="submit" value="登录"></td>
			</tr>

		</table>
	</form>

</body>
</html>

logon.jsp

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
从网页搭建入门Java Web2018版
  • 参与学习           人
  • 提交作业       1088    份
  • 解答问题       10204    个

如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师