如何用初级的JavaWeb知识写一个较简单的网站(一)
2017-06-07 09:41
876 查看
本人JavaWeb初学者,这是学校一门课程的期末作业,之前已经写了不少了,但是由于一点误操作,导致项目有点崩盘,加上心态不是很好,所以把整个项目全部删除重做,这里记录一下我写整个项目的全过程。
环境是mysql + MyEclipes + Tomcat9.0
可视化工具是Navicat
先简单看一下大致需求,首页是下面这幅图片
这是某大学某学院的党建工作的网站,要求是实现栏目、文章和用户的增删改查。不是很难,要求的技术为jsp,servlet,过滤器等JavaWeb开发中较为简单的一些技术。
下面,开始工作,那么首先做的应该是设计数据库,数据库中应该包含三张表,t_user t_article 以及 t_column(这里由于所在工作室的命名规范,数据库命名一律为db_xxxxx,表的命名一律为t_xxxxx)
放在Navicat中如图
我们右键数据库,选择转储sql文件,这样就会得到这个数据库的建立语句,然后放到项目中,防止数据库丢失。
建好了数据库,下面正式开始开发
打开MyEclipes,右键,new一个Web Project,填好Project Name,选好Java和JavaEE的版本
注意这里我选择的只是我电脑里的版本,真正的选择要随你电脑上的版本而定
注意这里有一个选项,是自动生成web.xml文件,一定要勾选,之后我们很多东西可能会在里面配置,当然现在的版本也可以通过注解的方式进行配置,不过勾选上,以防万一嘛
然后,在MyEclipes中配置tomcat并将项目配置到tomcat中去,配置过程我就不再说了,有不明白的可以自行百度
开启tomcat,测试一下看新new出来的项目能不能跑通
出现如图所示的画面就证明已经跑起来了,并且现在正在运行的就是你的默认欢迎页面index.jsp
下面开始我们的后台封装,我们先来建立与数据库的连接,我们来配置一个c3p0连接池,至于配置连接池的好处嘛,大家还是自行百度
首先,我们先把该导的jar包导入进去,将jar包拷到WebRoot/WEB-INF/lib下,然后右键,Build Path,add to Build Path
下面我们开始写c3p0的配置文件,我们在根目录里new一个新的文件夹resource,然后开始写配置文件。关于c3p0的配置文件网上也很多,这里我把我的代码上传,大家也可以不看,直接自己配
需要提到的是,由于这个文件夹是作为配置文件的文件夹,所以需要右键,Build Path,Use as source folder 可以看到,resource文件夹瞬间地位就上升了
然后我们开始写工具类,在src文件夹中new一个新的Class,注意把包名起好,尽量不要写裸体类,进来之后,把和数据库相关的操作都封装在这个类里面,写好之后,记得写一下测试类,如图,如果控制台能正常输出,则说明一切正常
封装好了数据库,我们开始写实体类,比如我们先来实现用户的登录注册功能,那我们就先来写一个User的实体类,同样把类打好包,一般实体类我们放在entites包里面
然后在类中写出该实体类的属性,一般来讲是要和数据库中的字段一一对应的,属性要设为private,并添加get和set方法。MyEclipes中添加get和set方法是快捷键是shift+alt+s
写好实体类之后,开始写User的Dao层,Dao层里面一般是和数据库打交道的一些方法,无非也就是增删改查的一些方法
我们在src下面再new一个UserDao的类,注意外面的包名写好
然后里面写好增删改查等方法,比如我们刚刚写好的insert方法
写好方法之后最好是再写一个测试类测试一下方法写没写错,当然要是对自己有足够的信心不写也没有大问题
然后,再将其他方法写好,UserDao就算是写好了,当然我们这里写的比较简单,如果更严谨一点的话要先写接口,再写实现类,如果再严谨一点的话还要再写一个service层,这里我们就不那么麻烦了,如果对这方面有兴趣的可以自己去了解一下
我们就先介绍到这里,后面的我们会在后续文章继续介绍
环境是mysql + MyEclipes + Tomcat9.0
可视化工具是Navicat
先简单看一下大致需求,首页是下面这幅图片
这是某大学某学院的党建工作的网站,要求是实现栏目、文章和用户的增删改查。不是很难,要求的技术为jsp,servlet,过滤器等JavaWeb开发中较为简单的一些技术。
下面,开始工作,那么首先做的应该是设计数据库,数据库中应该包含三张表,t_user t_article 以及 t_column(这里由于所在工作室的命名规范,数据库命名一律为db_xxxxx,表的命名一律为t_xxxxx)
放在Navicat中如图
我们右键数据库,选择转储sql文件,这样就会得到这个数据库的建立语句,然后放到项目中,防止数据库丢失。
/* Navicat MySQL Data Transfer Source Server : Test Source Server Version : 50717 Source Host : localhost:3306 Source Database : db_party Target Server Type : MYSQL Target Server Version : 50717 File Encoding : 65001 Date: 2017-06-06 14:24:40 */ CREATE DATABASE `db_party`; SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for t_article -- ---------------------------- DROP TABLE IF EXISTS `t_article`; CREATE TABLE `t_article` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id', `title` varchar(255) NOT NULL COMMENT '标题', `author` varchar(255) NOT NULL COMMENT '作者', `content` varchar(255) NOT NULL COMMENT '内容', `click_times` int(11) NOT NULL DEFAULT '0' COMMENT '点击次数', `publish_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '发布时间', `type` varchar(255) NOT NULL COMMENT '所属类型', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; -- ---------------------------- -- Table structure for t_column -- ---------------------------- DROP TABLE IF EXISTS `t_column`; CREATE TABLE `t_column` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id', `name` varchar(255) NOT NULL COMMENT '名字', `level` varchar(255) NOT NULL COMMENT '级别', `pid` int(11) NOT NULL COMMENT '父id,0为根节点', `isleaf` int(255) NOT NULL COMMENT '是否是叶子节点,1代表是,0代表不是', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; -- ---------------------------- -- Table structure for t_user -- ---------------------------- DROP TABLE IF EXISTS `t_user`; CREATE TABLE `t_user` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户id', `username` varchar(255) NOT NULL COMMENT '用户名', `password` varchar(255) NOT NULL COMMENT '密码', `sex` int(255 4000 ) NOT NULL COMMENT '性别,1代表男,2代表女', `phone_num` varchar(255) NOT NULL COMMENT '电话', `email` varchar(255) NOT NULL COMMENT '电子邮件', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;
建好了数据库,下面正式开始开发
打开MyEclipes,右键,new一个Web Project,填好Project Name,选好Java和JavaEE的版本
注意这里我选择的只是我电脑里的版本,真正的选择要随你电脑上的版本而定
注意这里有一个选项,是自动生成web.xml文件,一定要勾选,之后我们很多东西可能会在里面配置,当然现在的版本也可以通过注解的方式进行配置,不过勾选上,以防万一嘛
然后,在MyEclipes中配置tomcat并将项目配置到tomcat中去,配置过程我就不再说了,有不明白的可以自行百度
开启tomcat,测试一下看新new出来的项目能不能跑通
出现如图所示的画面就证明已经跑起来了,并且现在正在运行的就是你的默认欢迎页面index.jsp
下面开始我们的后台封装,我们先来建立与数据库的连接,我们来配置一个c3p0连接池,至于配置连接池的好处嘛,大家还是自行百度
首先,我们先把该导的jar包导入进去,将jar包拷到WebRoot/WEB-INF/lib下,然后右键,Build Path,add to Build Path
下面我们开始写c3p0的配置文件,我们在根目录里new一个新的文件夹resource,然后开始写配置文件。关于c3p0的配置文件网上也很多,这里我把我的代码上传,大家也可以不看,直接自己配
<?xml version="1.0" encoding="UTF-8"?> <c3p0-config> <default-config> <!-- 数据库的url --> <property name="jdbcUrl">jdbc:mysql://localhost:3306/db_party</property> <!-- 数据库驱动 --> <property name="driverClass">com.mysql.jdbc.Driver</property> <!-- 用户名 --> <property name="user">root</property> <!-- 密码 --> <property name="password">mysql</property> <!-- 当连接池连接耗尽时,客户端调用getConnection()后等待获取新连接的时间,超时将抛出SQLException 若设为0将无线等待,单位毫秒,默认0 --> <property name="checkoutTimeout">30000</property> <!-- 每多少秒检查所有连接池中的空闲连接,默认值0,不检查 --> <property name="idleConnectionTestPeriod">300</property> <!-- 初始化连接池中的连接数 --> <property name="initialPoolSize">100</property> <!-- 最大空闲时间,超过300s不用则连接被丢弃,若为0则永不丢弃 --> <property name="maxIdleTime">300</property> <!-- 连接池中保留的最大连接数 --> <property name="maxPoolSize">100</property> <!-- 连接池中保留的最小连接数 --> <property name="minPoolSize">10</property> <!-- 用于控制数据源内加载的PreparedStatements数量 --> <property name="maxStatements">200</property> </default-config> </c3p0-config>
需要提到的是,由于这个文件夹是作为配置文件的文件夹,所以需要右键,Build Path,Use as source folder 可以看到,resource文件夹瞬间地位就上升了
然后我们开始写工具类,在src文件夹中new一个新的Class,注意把包名起好,尽量不要写裸体类,进来之后,把和数据库相关的操作都封装在这个类里面,写好之后,记得写一下测试类,如图,如果控制台能正常输出,则说明一切正常
封装好了数据库,我们开始写实体类,比如我们先来实现用户的登录注册功能,那我们就先来写一个User的实体类,同样把类打好包,一般实体类我们放在entites包里面
然后在类中写出该实体类的属性,一般来讲是要和数据库中的字段一一对应的,属性要设为private,并添加get和set方法。MyEclipes中添加get和set方法是快捷键是shift+alt+s
写好实体类之后,开始写User的Dao层,Dao层里面一般是和数据库打交道的一些方法,无非也就是增删改查的一些方法
我们在src下面再new一个UserDao的类,注意外面的包名写好
然后里面写好增删改查等方法,比如我们刚刚写好的insert方法
写好方法之后最好是再写一个测试类测试一下方法写没写错,当然要是对自己有足够的信心不写也没有大问题
然后,再将其他方法写好,UserDao就算是写好了,当然我们这里写的比较简单,如果更严谨一点的话要先写接口,再写实现类,如果再严谨一点的话还要再写一个service层,这里我们就不那么麻烦了,如果对这方面有兴趣的可以自己去了解一下
我们就先介绍到这里,后面的我们会在后续文章继续介绍
相关文章推荐
- 如何用初级的JavaWeb知识写一个较简单的网站(二)
- 网站知识--如何把javaWeb项目搭建到linux服务器上
- 如何用Java写一个简单的代理Web服务器
- 一个学习Web基础知识比较好的网站
- 如何手工搭建一个java web 项目
- 做java web 开发的简单项目必须具备的知识
- 做java web 开发的简单项目必须具备的知识——供新手参考
- Java WEB之Servlet学习之路(一)一个最简单的Servlet应用
- 如何快速启动一个Java Web编程框架
- 用java 实现一个简单的web 服务器
- 关于eclipse for java ee 如何新建一个javaWeb项目
- 如何部署一个java项目成web项目
- 假设一个网站系统存在两个配置文件web.config和config.config,那么我如何读取config.config的配置节呢?System.Configuration名字空间下的接口好象只能读
- 用java实现的一个简单web服务器程序
- 用java实现一个简单的web客户端
- (Struts重构)构建一个简单的基于MVC模式的JavaWeb
- 写一个简单的java web页面必须的步骤
- 如何创建一个简单的JAVA存储过程?[转贴]
- 如何创建一个简单的JAVA存储过程?[转贴]
- 写一个简单的爬虫 - 如何模拟登录网站