java课程设计Word文档下载推荐.docx
- 文档编号:22745693
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:23
- 大小:741.26KB
java课程设计Word文档下载推荐.docx
《java课程设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《java课程设计Word文档下载推荐.docx(23页珍藏版)》请在冰豆网上搜索。
四、总结18
五、参考资料19
六.感言19
Grails课程设计网络工程同学录
摘要:
Grails构建在开源技术如Spring、Hibernate和SiteMesh之上,提供了一个类似于Rails的平台可以与Java平台无缝集成的。
但Grails比Rails具有更强的可像Java那样成熟的虚拟机,并且能够能够给企业级的服务提供成熟的支持。
Grails也是构建在Groovy之上的,而Groovy是一种“动态”或指令语言。
动态语言一般用来加速和简化程序撰写。
与Python或Ruby等其他指令语言不同的是,用Groovy撰写的程序,可与Java虚拟器结合。
因此可以这样说,Grails=Groovy+Spring+Hibernate。
Grails有两个原则:
一是CoC:
约定大于配置(ConventionoverConfiguration
二是DRY:
不要重复你自己(Don’tRepeatYourself)
在这我将用Grails制作一个简单的表格,主题是同学录。
关键词:
GrailsMySQL网络工程同学录
一、网络工程同学录简介
1.需要实现的功能:
(1)管理员登录后,可对同学录列表进行增加、删除、查询、修改。
(2)可注册管理员,并对管理员列表进行增加、删除、查询、修改。
(3)普通用户可以浏览该同学录,并查询。
(4)普通用户也可注册、加入同学录中。
(5)普通用户无权对该同学录进行任何的增加、删除、查询、修改。
二、软件的安装调试
1.安装jdk1.6.0,安装到默认目录C:
\ProgramFiles\Java\jdk1.6.0
2.在E盘建立一个文件夹tongxuelu
3.把grails-1.3.2解压到tongxuelu里面
4.配置环境变量:
右击我的电脑—属性—高级—环境变量,在系统变量中按如下生成3个变量:
JAVA_HOME:
C:
GRAILS_HOME:
E:
\tongxuelu\grails-1.3.2
Path:
E:
\tongxuelu\grails-1.3.2\bin
5.安装数据库:
双击mysql-5.1.38-win32开始安装数据库,在安装过程中,设置密码为123456。
6.检查java虚拟器和grails是否装好:
开始—运行—输入cmd—打开了doc命令提示符,分别输入java和javac,显示java能运行,再找到自己的grails文件下,在doc命令符下输入grails,显示grails能用,最后生成一个地址可以在ie浏览器下看到初始的界面。
7.安装IntelliJIDEA9.0.2软件
三、具体建立
1.创建一个tongxuelu项目。
具体如下:
之后输入cdtongxuelu和grailsrun-app
在360浏览器下输入上面地址,我们可以看到如下所示的一个友好的界面。
2、建立属于自己的领域类
回到DOS窗口下,按下ctrl+C停止程序。
然后输Grailscreate-domain-classtongxue生成Tongxue的领域类。
按照同样的方法生成一个User类。
可以看到提示
在E:
\tongxuelu\tongxuelu\grails-app\domain\tongxuelu文件夹下产生下列文件,如下图
编辑领域类中的代码如下所示
Tongxue领域类:
User领域类:
3、生成控制类
创建Tongxue的控制器
创建User的控制器
\tongxuelu\tongxuelu\grails-app\controllers\tongxuelur文件夹下产生下列文件,如下图
之后在360浏览器上打开如下地址http:
//localhost:
8080/yyy,可看到如下所示
我们可看到两个UserController和TongxueController的链接
4、生成脚手架
在IntelliJIDEA9.0.2分别生成UserController和TongxueController的脚手架和视图
\tongxuelu\tongxuelu\grails-app\views可看到如下所示的文件。
然后再IntelliJIDEA9.0.2中点击运行会出现
RunningGrailsapplication..
Serverrunning.Browsetohttp:
8080/tongxuelu
在360浏览器上打开如下地址http:
8080/tongxuelu,同样可看到如下所示
可看到已经生成两个控制类,具体如下所示:
Tongxue列表的页面:
User的页面如下:
这时里面都还没有数据,因为我们还没输入数据。
但是这时就算我们输入数据,重启后数据也会丢失。
因为到目前为止,我们是还没建立真正的数据库。
这时用到的是grails自带的数据库。
5、建立属于我们自己的数据库
打开MySQL客户端,输入之前设立的密码123456,开始建立数据库。
命令如下所示:
createdatabasetongxuelu_dev;
createdatabasetongxuelu_test;
createdatabasetongxuelu_prod;
grantallontongxuelu_dev.*to'
yan'
@'
localhost'
identifiedby'
;
grantallontongxuelu_test.*to'
grantallontongxuelu_prod.*to'
到这我们已经建立好了数据库
修改Conf/DataSource.groovy如下所示
修改用户名及密码
6、对领域类加约束条件
在constraints中的字段排列的顺序即为最终在页面上显示的字段顺序,如果有要加入的约束就在字段的后面的括号中加上约束条件,如果没有要加的约束条件,则在括号中什么都不用加。
则修改如下:
Tongxue类:
在上面设置sex、Birth等有下拉列表的,给予友好的提示,让用户方便地进行选择。
如下所示:
另外,在这个约束里我们限制了性名的长度、性别的类型、个人号码的范围、家庭电话的范围、QQID的范围。
除此以外,生日和地址都不给予约束。
目前,每个约束都已设计好了。
当输入的名字不合法时,就会出现如下所示的警告
7、友好我们的界面
在messages.properties中配置相应的属性
出现界面
由上面可看到,该页面更加友好、人性化。
8、添加查询功能
到目前为止,我们所创建的该项目还只是一个很基本的、只能实现加入、删除、修改功能的系统。
但是,另外一个很重要的功能——查询,还没实现。
而且这个功能对一个系统来说却是至关重要的。
该系统——网络工程同学录,必须让用户或管理员都可以在众多人中查询到自己想要查询的某位同学,而不是一个一个的往下查。
所以我们在该系统中添加一个新的菜单项用于实现查询功能。
(1)在E:
\tongxuelu\tongxuelu\grails-app\views\tongxue\list.gsp,打开list.gsp,添加以下内容。
<
spanclass="
menuButton"
>
g:
linkclass="
create"
action="
search"
messagecode="
default.search.label"
args="
[entityName]"
/>
/g:
link>
/span>
(2)添加查询视图:
search.gsp,代码如下所示。
html>
<
head>
metahttp-equiv="
Content-Type"
content="
text/html;
charset=UTF-8"
/>
metaname="
layout"
main"
title>
SearchforRaces<
/title>
/head>
body>
divclass="
body"
<
h1>
查找同学<
/h1>
iftest="
${flash.messag}"
<
message"
${flash.message}
/div>
if>
formaction="
method="
post"
dialog"
table>
<
trclass="
prop"
<
tdvalign="
top"
class="
name"
<
labelfor='
name'
姓名:
/label>
/td>
tdvalign='
top'
class='
value'
inputtype='
text'
name='
/input>
/tr>
state'
性别:
selectname="
sex"
id="
>
<
optionvalue="
"
男女<
/option>
男"
男<
女"
女<
/select>
/table>
divclass='
buttons'
actionSubmitcontroller="
tongxue"
Search"
edit"
value="
find"
form>
/body>
/html>
(3)在Tongxue控制器中添加下面的内容:
(4)在Tongxue控制器中添加searchresults操作:
这是我们进行查询,结果如下所示:
9、提高系统的安全性
安全性对每个系统来说,更是至关重要的。
最基本的是,不是谁都可以进入并对该系统进行操作。
要实现这个功能,我们就应该对进入该系统的用户进行认证。
即给每个进入该系统的用户权限,设计一个登录界面,让合法的用户通过登陆界面进入系统,对不合法的用户阻止其进入系统。
\tongxuelu\tongxuelu\grails-app\conf\conf目录下,通过Grails的Bootstrap机制添加初始用户:
(3)添加用户登录页面login.gsp:
(4)接着为User控制器添加login、logout操作,以支持登录和注销。
(5)在控制器中添加拦截器,以鉴别用户权限。
对于tongxue,希望所有的操作执行前都鉴别用户权限。
defbeforeInterceptor=[action:
this.&
auth]
对于user,希望除过login和logout之外的操作都鉴别用户权限
auth,except:
['
login'
'
logout'
]]
其中:
auth是鉴别用户权限的操作
(6)
缺省的入口页面在:
❑grails-app/views/index.jsp
修改入口页面:
❑<
%response.sendRedirect(request.getContextPath()+"
/jbzCargo"
);
%>
(7)在tongxue的list.gsp中添加
controller="
user"
logout"
default.logout.label"
来实现登出操作。
(8)将auth操作抽象到一个基类中
❑在src/groovy中添加基类BaseController
⏹classBaseController{
⏹defauth(){
⏹if(!
session.userId){
⏹redirect(controller:
'
user'
action:
)
⏹returnfalse
⏹}
⏹}
⏹}
进入系统,要对系统进行操作时,我们必须通过下图所示的登陆界面,输入正确的用户名和密码,方可正在对系统进行操作。
10.具体操作的实现
输入网址http:
输入错误的密码或用户
输入正确后
点击“new”,新建同学
以此建立多个联系记录
点击“findout”
输入查询条件
查询结果是
返回列表
点击logout
提示退出成功。
11、实现分页功能
做到这应该说一个简单的网络工程系统完成的差不多了。
但是,还有一点不够好的是,当我们查询的结果过多时,一个页面可能不能完全显示。
要解决这个问题,我们就应该让系统有分页的功能。
具体方法如下所示:
在searchresults.gsp文件中,添加链接,如下所示
以指向分页操作。
接着,在tongxue控制器中修改search和searchresults的操作:
增加session.tongxueQuery=tongxueQuery
除了这些修改外,还须在grails-app\controller\tongxuelu进行修改。
从而实现分页效果。
四、总结
该课程设计是在Grails这个开源框架上开发出来的一个简单的系统。
通过这次课程设计使我对Grails有一个比较深刻的认识。
更加理解运用一个好的开发工具对开发系统的重要性,以及带来的简便性。
该课程设计像一个敲门砖一样使我认识了Grails,在以后我也必将对该开发工具作更系统的学习其中的各种功能等。
本次课程设计能顺利完成,首先应该在此感谢冯老师的指导,使得我对Grails这个开源框架能在尽可能短的时间内能够比较熟练地运用。
也在此感谢在课程设计过程中给予我诸多帮助的同学们。
五、参考资料
《Grails入门指南》JasonRudolph
《Grails权威指南》GraemeKeithRocher
冯文峰老师的课件
六.感言
此课程设计的学习使我收获颇多,学到了许多其他方面的知识,开阔了视野。
懂得了我要走的路还很长,我要学的知识还很多很多。
再次感谢冯文峰老师的辛勤辅导和谆谆教导。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 课程设计