最近学习了一段时间JavaWeb,但做项目一直做不出来。相信很多初学者都有和我一样的问题,即为什么我学了,但我不会做?以及如何做一个简单的Web项目?对于初学者来说,我感觉可能从我,一个初学者角度来回答这个问题最合适。以下是我的想法:
我自己反思得出的结果如下,
为什么学了不会做项目:
一、对要学习的技术不了解,导致这学一点,那学一点,最后做了许多无用功,还哪也不精通
二、对学习的技术不会应用,比如我学了SQL语句,我不知道应该写在代码的哪个部分
三、学习内容没有串起来,比如我jdbc连接数据库会了,servlet学了,jsp也看了,但怎么连起来,我不会。
同时,我自己也给出了解决办法:
对于第一点和第二点,我总结了一下,即做一个web需要的技术和目的和要达到的程度:
一是环境的安装配置,
1.下载数据库和数据库可视化界面软件,可视化界面软件是为了方便最开始连接数据库前的建表,学习SQL语句是为了写在代码里实现增删改查的操作。如:我学习的数据库是MySQL,用的可视化界面软件是SQLyog。注意:下载数据库是记得下载驱动,以后JDBC连接数据库就不用再下载驱动了!
2.下载服务器Tomcat,使用Tomcat可以让你的页面在浏览器运行。
3.下载eclipse javaee版,方便开发web项目(注意:eclipse javase版也可以,但需要下载插件。另外开发工具有许多,不一定非要eclipse,我只是举例)。另外,一定要注意:ee版选择动态web项目后,Tomcat等是配置好的,不需要再配置,再配置也会报端口号占用的错误!
下载完了后要知道如何使用配置。数据库在SQL学习时会学到,Tomcat可以网上搜如何配置,eclipse可以网上搜如何建立动态web项目。
二是学习Java,JAVAWEB肯定要会java代码啊,其实servlet等都是Java类,而且自己的数据要封装也是Java的知识,总之,用到Java的地方太多了。至少顺序、选择、循环三大结构、方法、数组、字符串、类与对象、异常要会。
三是数据库的使用,要学习数据库SQL语句和数据库可视化界面的操作。目的在下载时已经提到。需要可以熟练的用SQL语句操作数据库并且可以用可视化界面软件熟练地操作数据库。
四是JDBC连接数据库,此处学习是为了知道怎样连接数据库,方面以后增删改查的操作连接到数据库来增删改查。需要知道并可以熟练使用JDBC的API,即DriverManager、PreparedStatement、Connection、ResultSet。
五是前台页面的设计,此处选择很多,着急过一遍web流程可以先选择一个学习,如HTML,jsp等。需要可以设计前台页面,并且可以看懂别人的模板。
六是学习servlet,servlet是为了接受前台的命令,并调用后端方法来执行前端需要的操作。学习servlet需要可以熟练的改写doGet和doPost方法,来达到我们的目的。
另外就是问题三,知识我都学了,但怎么串起来呢?其实,以上内容都学完了,还不会做项目,就是学的知识没有串起来。没有串起来我认为原因还是两点,一是不知道学了要干什么,但是这个问题上文已经解决了。二是没有做过项目,只有理论基础,没有实际操作。这个问题最好说了,怎么办?实践呗!
当然,说起来容易做起来难,我认为这是最难的一步了。做项目要思考从哪开始做,是前端到后端还是后端到前端等等,很多种实现方法。还有要怎么分层,怎么建类和包...当然,初学者可以先思考,等做的多了,就都想通了。现在最紧要的,是开始实践,做一个小的web项目。那么,这就跳到第二个问题了,如何做一个简单的web项目。
以及如何做一个简单的Web项目:
首先,我认为最重要的是分层,要知道在那个文件里建立bean/dao/service/servlet层,在那个文件里存放驱动包,在那个文件里放前端页面,我认为这些问题也就是所谓的串起来。我是根据B站的视频学习的,这是我学习的视频:https://www.bilibili.com/video/BV18s411u7EH?p=23,23,24两节分别讲了MVC模式和三层架构,并且都带着做了项目,我觉得没有做过可以跟着做一做。当然,也不一定非要看视频,也可以网上搜索别人的项目,如:学生管理系统,人口普查系统等等,我推荐那些带有目录的项目,这样就可以更好的理解如何分层了。我学习的时候不光看视频,也看别人的项目,看别人的项目的优点在于可以复制,可以快速理解分层,但对内部代码具体细节等会忽略。而且基本上没有详细说分层的,大多是代码一放,你爱看不看。看视频就对分层印象比较深了,而且自己敲过,细节更了解。但视频不能复制,只能自己敲,没敲完前,对大框架可能理解不够透彻。随后我会把我的代码和目录发表,大家可以再看一看,想一想。
其次就是代码内部细节了,只要前面学的扎实,这里一般是没有问题的。
另外:
以上只是说了一下大体框架,要想做好一个项目,对每个技术的理解都要到位,不能只图快,我说了SQL语句要学啥,就直接去看我说什么SQL语句如何建表等等的,但其实数据库是啥都不知道,这种行为,肯定是不行的。而且,实践过程中,肯定会遇到各种bug,如Tomcat报404,页面乱码等等,这些都需要自己搜索解决,也是上面没有提到但很重要的。当然,我也只是一个初学者,如果哪里有理解的不对的地方,欢迎大家提出讨论。
最后,在此和大家共勉,希望我们早日做出一个完整的web项目!