Java web 学习

由于本人是个新手,对java  web了解不多,所以在这里把看见过的精彩的知识点记录下来,希望帮到各位.

阶段的总结,是进步的一大助力,现在总结下课程设计。

第一个网站:基于PHP的购书网站

现在感到网站的本质是:数据的流动。

网站一开始,完全不懂后台,所以就只做了前台先。

做前端,就是html,CSS,javascript,jQuery。

在这个过程中,接触到了很多库,框架,js插件。

比如bootstrap,boostrap是响应式的,当时第一个接触的东西,感觉好强大,响应式的,有好多模块可以自己任意添加,顶部,按钮,图标等等,对样式的控制也很难。但是以我现在对bootstrap的认识,做不出很炫酷的页面。所以,本网站就用bootstrap只做了个顶部。

做了个顶部,就很难再用bootstrap做下去。网站是分为好多个部分的。每个部分的样式也不一样,关键是把几个部分凑起来。

之后接触到js插件(即大多是JQ插件),发现了很多JQ插件的网站,感觉好厉害,‘封装’这个词不错。封装好的JQ插件,拿去组装网站就行了,都有参数说明,很棒,我看到了很多网站的特效,有图片轮播,导航,菜单,弹出层,对话框等等,好多好多。最后,看到一个全屏滑动的插件,好炫酷,就拿来用到本网站了。

有了顶部,有了这个全屏滑动的菜单,接下来,自然的想到了,购物网都有的左边的菜单。

我就又到JQ插件网站找菜单,但是,几乎全部是包含了顶部的,而除这之外,有的我不会用的,那么问题来了。我不想放弃之前花了很多时间的bootstrap顶部,再加上,我这样组装网站的最致命的问题:样式的问题。因为每个插件都有自己的样式,而且有的命名还可能会重复的。很乱。而且,你要是想插件包含插件,或者想在插件上加点模块,真的很难很乱。但是没办法,都做到这里了。花了那么多的时间,也算是次经验吧。

我想,唯有自己写个菜单了。于是我参考下载的JQ菜单插件,写了个菜单,其中学了点JQ动画,还由于是在全屏滑动JQ插件里面添加的,样式问题,调了好久。

再后来,在网页的第一页和第二页添加了两个不同的图片轮播,都不错。(全屏滑动JQ插件,网站分为4页)。

剩下第3、4页,但是,总不能全都做个图片轮播。第4页是写媒体合作预定的,写几行字说还没有媒体合作算了。那么还剩下第3页。也只有一种方式了,就是展现几个(10个吧)商品(哦,是10本书。),然后给个‘更多’链接就行了。就用10个div+JQ动画搞定。(这里用的动画就是,当鼠标滑动到这个页面是,10个div,上下两行,上行从左边滑进,下行从右边滑进。)

还有一个,首页点开时,顶部下的一个动画,是模仿一个JQ库网站的,感觉不错。

那么这样一来前端的东西就完成了。

之后,因为不懂怎么后台不知道怎么做下去了,还有其他科目的考试等等,停了很长时间。在这段时间里,发现了很多前端的网站,还有网页的数据拼装,还有CSS的框架等等。

后台的完成完全是被时间逼的。

前面说到,网站的本质是数据的流动。

网站的数据,那自然是要做数据库了。而数据的流动,一个是用户的注册,商品的销售数量,评论等等;一个是后台管理员的管理后台,其中最重要的添加商品,甚至添加分类等等。

经过考虑,我还是选择了一步步来。因为之前有数据库的设计检测,表间有什么联系等等,之前老师的检测是糊弄过去了。随便用pdshell15建物理模型,建几个表,随便拉表间的关系线,但是,这些是不能拿来应用的,或者说是应用不了的。(后来我完成了网站,几个表也没设什么关系,都是各自增删改查的,嗯,可能是还没用到哪些功能吧,所以不用表间什么联系)

 

首先是做登录注册,这里我只是做用户的,没做管理员的。当时也没管那么多。

去JQ插件网逛了下,哪些表单验证插件都不满意,之后下载个,自己修改。

登录注册,这里涉及到了很多。登录:不能为空,数据库连接,sql查询,cookie,sql防注入,用户名格式(我没有做多种方式登录,只做了用户名登录,没email登录等等),ajax,页面跳转,session,验证码等等。注册:不能为空,数据库连接,sql查询,sql防注入,用户名格式(正则表达式),email格式(正则表达式),session,实时检测用户名有没有重复(用onkeyup),验证码等等。

剩下的,模糊搜索(我直接用了sql语句的模糊搜索),分类页面,商品展示页面,购物车页面,订单页面(没写),后台管理(时间原因,没写)都是数据的增删改查。

还有,网站的logo。

网站的组装:

比如:include  ‘commontop.php’

例如:你每个二级页面都包含了顶部导航和菜单,那么你没个页面都再写个导航和菜单吗?显然不可能,那么自然而然的想到要将这些部分封装起来,写到一个独立的php里面,要用的时候就include。(这里说明下,除了include还有include_once,require,require_once,看需要用哪个)

如:在showbook.php里面include ‘commontop.php’;include ‘commonleft.php’;

include ‘conn.php’;等等。

数据库连接最好封装起来,封装到conn.php里面。

 

Session的使用:

在使用session前要初始化先,在php文件顶部session_start();

还有session的注销等等。

每个商品都有一个独有的网址:

其实,这个是在商品展现网页showbook.php后面加了“?+’变量名’+’商品ID’”。

比如 href=”showbook.php?book_id=<?php echo $book_id ?>”

而目标网页则用GET来获取book_id。即$_GET[‘book_id’]

页面间的数据传递:

post,get,session,cookie,ajax等等,

submit,button+函数,href,location.href等等。

 

js与php变量相互传递:

这个很重要!很多功能和BUG都是因为这个!

php网页的数据拼接少不了这个!

Js与php是能相互传递变量的,具体可以搜索下。

本网站只要用的是将php变量的值传个js变量:

<?php $value=”购书”?>

<script>

      var  str=<?php echo $value?>;

      alert(str);

</script>

还有,上文提到的页面跳转也用到:

href=”showbook.php?book_id= <?php echo $book_id ?>”

 

数据库的小技巧:

如:限制拿查到的前几个数据,用limit。等等~

 

在index.php页面直接查找数据,然后用

<?php

While($data=mysql_fetch_array($res)){

           $book_id=$data[‘book_id’];

           $book_img_$data[‘book_img’];

?>

 

<div>

<ahref="showbook.php?book_id=<?php echo $book_id ?>"><imgsrc="images/<?php echo $book_img ?>"></a>

</div>

 

<?php

}

?>

这样来拼接页面数据。

这样会生成好多个有不同动态数据的div,嗯。

还有,用图片来代替效果!这招赞!

还有前端的样式问题,确实的麻烦,要调很久;绝对定位,z-index,float的应用等等。

云平台:新浪云,百度云,阿里云等等,网上有教程,我用的是新浪云,上传应用,因为我把数据库连接封装出来了,所以很简单,只是调下数据库的连接就行了,不过,这里很怪,搞了很久,最后只是把数据库连接的两个函数的两个参数调换下位置就行了。

到这里,总结得差不多了,遗憾的是网站很多功能都没时间去实现,如排行榜,收藏商品,后台管理,响应式等等,也没有用到php模板smarty。总的来说,还是学到了很多的。
--------------------- 
版权声明:本文为CSDN博主「ltx06」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ltx06/article/details/46987833

 

这周的商城项目主要学习企业的那种开发模式。学习了一种框架模式,应该是MVC框架吧。(Model,view,controller);我们的项目把其分为了Model层,Controller层,VIew层,Dao层,Service层。每一层的任务分工通俗来讲就是这样的:

Model层:负责一些实体类。譬如用户类、商品类、订单类等(应该是对应数据库中的表);

Controller层:负责对页面的请求,从而调用不同的Service层或者是Dao层的服务,然后跳转到下一页面,跳转页面的是时候会传递值(request.setAttribute();或者 request.getSession().setAttribute("cart", cart);)。

View层:负责jsp页面或者html页面。

Dao层:和数据库的操作。

Service:业务逻辑层。(例如:登录,注册,添加购物车等);

主要关系图如下:


--------------------- 
版权声明:本文为CSDN博主「张鹏nic」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zp961213/article/details/78980236

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一身正气z

打赏随心就好

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值