从网上看到一个开源的web项目-校园宿舍管理系统,大致看了一下源码,框架很简单,用的struts2+jdbc+jsp,虽然作为一个很简单的项目,但对于新手来说,直接看一套系统的源码,很快就会失去兴趣,本人作为一个新人过来很理解这种感受,因此对于这套系统,我准备将他重新翻写一遍,顺便将技术框架修改一下以便自己提高一下自己技术,在这里分享一下重新搭建项目的过程。
主体框架不动,仍用struts2,持久层方面我准备用mybatis,数据库用oracle11g。
废话不多说,直接开干!
首先创建一个Dynamic Web project项目,项目名称StudentsDormitoryManager。
WEB-INF下创建web.xml项目,集成Struts2(不要忘记struts2的必要的jar包),这东西是固定的,有兴趣研究Struts2的请求过程。
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
</web-app>
首先思考一个系统我们首先需要去做什么,那就是登录,针对于登录,最重要的是权限控制,只有我们将登录过程设计好了其他功能,都只是按模块加入系统中罢了。
这套开源的宿舍管理系统权限相对来说比较简单,就是在登录页面设置下拉框,用户选择自己的角色,后台根据角色到不同的角色账号表查找用户,根据查找结果返回登录是否成功。
首先我们要设置项目启动进入首页Login.jsp,在web.xml中添加,在WebContent下创建Login.jsp页面
<welcome-file-list>
<welcome-file>/Login.jsp</welcome-file>
</welcome-file-list>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>校园宿舍管理系统</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="Style/Style.css" rel="stylesheet" type="text/css" />
</head>
<script language="JavaScript">
function mycheck(){
if(isNull(form1.Type.value)){
alert("请选择身份!");
return false;
}
if(isNull(form1.Username.value)){
alert("请输入用户名!");
return false;
}
if(isNull(form1.Password.value)){
alert("请输入密码!");
return false;
}
}
function isNull(str){
if ( str == "" ) return true;
var regu = "^[ ]+$";
var re = new RegExp(regu);
return re.test(str);
}
</script>
<body>
<center>
<br><br><br><br><br>
<table width="684" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="292" align="center" valign="top" background="Images/LoginBg.jpg">
<table width="350" height="201" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="72" align="center"><h3>校园宿舍管理系统</h3></td>
</tr>
<tr>
<td align="center" valign="top">
<form name="form1" action="GoLogin.action" method="post" onSubmit="return mycheck()">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="30" colspan="2" align="center" class="STYLE2"><span style="color:red;">
<%if(request.getAttribute("Msg")!=null){%>
<%=request.getAttribute("Msg")%>
<%}%>
</span></td>
</tr>
<tr>
<td height="30" align="right" class="STYLE2">身份:</td>
<td align="left"><select name="Type" id="Type">
<option value="">请选择</option>
<option value="系统管理员">系统管理员</option>
<option value="楼宇管理员">楼宇管理员</option>
<option value="学生">学生</option>
</select></td>
</tr>
<tr>
<td width="37%" height="30" align="right" class="STYLE2">用户名:</td>
<td width="300" align="left"><input type="text" name="Username" id="Username" class="text1" /></td>
</tr>
<tr>
<td height="30" align="right" class="STYLE2">密码:</td>
<td align="left"><input type="password" name="Password" id="Password" class="text1" /></td>
</tr>
<tr>
<td height="30" colspan="2" align="center"><label>
<input type="submit" name="button" id="button" value="登录">
</label></td>
</tr>
</table>
</form>
</td>
</tr>
</table></td>
</tr>
</table>
</center>
</body>
</html>
我不是搞前台的,所以关于源代码的图片以及css、jsp我基本是拿来用的(见附件),现在这个项目可以用tomcat运行一下,我们可以进入首页看一看,浏览器输入:http://localhost:端口/项目名称:
转载于:https://blog.51cto.com/zangyanan/1862762