最近因为学校有一个课程设计需要完成,都没有时间更新博客了。果然坚持才是最难的。
好了,闲话不说,来看看重点。
我的课题是设计并实现一个网上论坛,具体需要实现的功能有用户注册,用户登录,发帖回帖等功能。
- 我是选择用jsp去开发的,所以你得安装java运行环境,我用的是eclipse for EE 版的,至于运行环境的配置这里就不说了,随便百度,GG下都能搞定。
- 然后我的jsp要运行在tomcat上,所以你得把tomcat装好,还是去百度或者GG,也都能搞定的。
- 准备一个数据库也是当然的了,我用的是sql server 2012,你可以选择用oralce ,mysql等等,对于小项目来说没什么区别。
- 然后新建一个数据库,数据名我取的bbs,然后新建一个用户表,表名为bbs_user。表里有姓名,密码,(就弄了简单的两列,知道原理就行)。
- 打开eclipse,新建一个Dynamic web project(如果你的eclipse是web版的就会有这个选项,如果不是就找一个或者其它途径解决咯)。
- 新建的项目名称就叫bbs了,展开可以看到很多文件夹,建议将jsp文件放在WEB-CONTENT下,(直接点击这个文件夹右键新建jsp File就行。)WEB-CONTENT吗,顾名思义了。就是存放网页内容的。
- 然后还有一个src的文件夹,这里面就是存放java文件的,你的servlet文件啊,类方法啊等等(什么事servlet等会再说是干嘛用的,因为我也是不懂,只是说一个操作方法,原理什么的得自行看书咯)
- 当你新建一个Jsp文件之后,里面写上表单,表单的提交方法设置好,一般是Post或者get,然后就是表单的action,这个应该填什么呢,就是一个servlet了,比如这样写action="bbsServlet"。当然,此时会报错,因为没有这个bbsServlet啊,不要着急,表单一定要设置好,给每一个input一个name属性,之后的数据获取就是根据这个标识来获取的。然后还得有一个提交按钮吧,这里可以这样<input type="submit" value="提交">,type值一定要是submit,就是提交这个表单的意思,这里的逻辑就是当你填好表单的内容,点击提交之后,这个表单会被提交到bbsServlet中进行处理。
- 好了,这里应该来创建bbsServlet了,右键src文件夹,首先可以创建一个包(包的概念和作用熟悉java的应该知道,就不多说了),然后在这个包里面创建一个servlet,命名为bbsServlet,创建好之后进入这个servlet,看代码,你会发现eclipse已经自动为你写好了默认的方法,有一个doGet,还有一个doPost,看到这里大家应该明白了,如果你的表单时get方法提交的,就在doGet里面写处理逻辑,如果是doPost当然就是为了处理post方法传过来的数据了。
- 在servlet里面,你可以获取到表单提交过来的数据,然后对这些数据进行处理,一般是存入数据库啊,或者修改数据库相应数据啊,最后一点,它可以在处理完数据之后重定向到另一个页面,比如我做登录,如果传过来的用户名密码在数据库中都确认没有错误,我就可以跳转到登录成功的页面。所以说到这里,你可能明白了这里的这个servlet就是一个数据处理中转站,它接收表单的数据,处理好之后就跳转到该去的页面。
- 做好的了上述的所有步骤之后,你就可以尝试来运行你的jsp页面了,选中你要运行的页面,右键Run as 然后选择运行在服务器上,第一次会让你选择服务器,你选中apache tomcat就行,然后是选择tomcat版本,我的是7.0的,就选tomcat 7.0,如果你不记得,可以在本机访问tomcat(怎么访问你在上述安装tomcat时应该已经看过了,就是确认你的tomcat是否安装成功那个),然后就等着它跑起来,如果没有错误,你看到的应该是一个网页页面,内容是你设计的表单,然后你填好你的表单,点击提交之后,服务器获取到你的表单数据,然后处理,处理完会跳转到你需要的页面(如果你有让它跳转的话),然后就可以根据处理结果判断你的整个过程有没有错了
- 说到这里,基本上一个简单的注册过程就完成了,至于核心代码,网上有的是,当你明白了这个过程之后,把代码复制一下,自己处理一下,就能明白了。
- 再提一下编码的过程中可能会有一些莫名其妙的错误,碰到这种不要着急,静下心来仔细想一下逻辑过程。
- 我能说我当时做的时候因为没有导入数据库的jar包而导致那些数据库方法不能用吗,(大写的尴尬,一直学习前端方面的,刚接触后台的写法被坑的有些惨啊)
好了,祝各位初学jsp不懂得怎么构建整个服务的学习顺利了咯,如果有关于这篇篇幅里涉及到的问题可以交流哦(以外的什么原理,框架,啥啥啥的就不要来打我脸了,求放过)
时间: 2024-10-05 19:39:59