【手把手】JavaWeb 入门级项目实战 -- 文章发布系统 (第一节)

简介: 【手把手】JavaWeb 入门级项目实战 -- 文章发布系统 (第一节)

前一段时间有很多朋友来问我各种问题,比如java怎么学,c,c++,c#,java,还有php等等,到底学哪个好,哪个好就业?其中不乏刚毕业找不到工作的学生,我对此也是很有感触,回想当初那最最艰难的日子,我的确很了解这种焦急的心态。其实我个人感觉,编程语言都大同小异,无非是语法变一变,当然,如果你为了快速上手,我还是优先推荐java。


最近琢磨着要写点东西,把基本的Java Web开发流程完整地走一遍,最后决定,干脆就写一个小小的项目实战吧。这个小项目作为一个JavaWeb的入门例子,从前台页面到项目发布,把整个流程走通。所谓麻雀虽小,五脏俱全。难度不是很高,正好可以作为入门使用。


接下来就是做什么的问题了,首先不能太简单,那样的话就没意思了。也不能太复杂,因为我的确也没那么多时间,思前想后,我打算写一个小型的文章发布系统。


老实说,我也不知道最终会做成什么样子,但是基本的CRUD肯定少不了的。前台页面的话,我会尽可能做得好看一点,毕竟我也不是专门做前端的。


至于知识点,当然是尽可能丰富,把我用过的,并且理解的东西,一步一步地集成进去。


嗯,这个系列一旦开始,以后基本上就围绕着这个小项目写文了。我的意思是,其他文章都不更了,在这个小项目写完之前,我会把其他的文章都放下,全心全意地编写这个系列。


终于开始了,想想还有点小激动呢。


1. 项目的大致规划

开发工具还是用eclipse,数据库采用mysql。MVC框架的话,我就不用框架了,纯粹用JSP来写,实际开发肯定不会这么做,不过,这毕竟还是有意义的。当然,你也可以把它换成框架版的。为什么用JSP?因为JSP比较简单,作为一个入门级的web项目,而且我是一边开发一边写文,我就懒得用MVC框架了。


为什么我要一边开发一边写,因为我觉得,如果全部开发好了,再让我从头开始,把开发流程写出来,那是很庞大的工作量,也不现实。而且,一边开发一边写还有个好处,那就是可以帮助读者看到整个项目的开发流程。


而且,包括我自己也不知道最终会写成什么样子,也可能本文结束后就GG了。


不过不管怎么说,这样都会保留一点点新鲜感和乐趣。


如果你是初学者,并且希望完整地看一个小项目是如何做出来的,那么,这个系列也许会适合你。


可能写10篇文章就结束,也可能30篇,看情况了。


好了,正式开始吧。


2. 项目搭建

2.1 新建项目

新建一个 Dynamic Web Project,名字叫Article


44.png

点击Finish

45.png


将项目的编码改为 utf-8

46.png


2.2 新建web.xml

47.png

这是web项目的规范,一个web.xml文件可以对你的web项目进行基本的配置。

2.3 编写web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
 <!-- 欢迎页面 -->
 <welcome-file-list>
   <welcome-file>index.jsp</welcome-file>
 </welcome-file-list>
</web-app>
2.4 编写index.jsp

在WebContent目录下新建一个index.jsp

48.png


代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
  恭喜,web项目已经搭建完成。
</body>
</html>


这就是我们项目的首页。

2.5 用 tomcat 发布项目

我这边用的是tomcat7.0

49.png

运行。


启动完毕后,打开浏览器,在地址栏输入


http://localhost:8080/Article/


(我这边的tomcat端口号为8080)


50.png


然后可以清楚得看到,网页上出现了这么一行字:


恭喜,web项目已经搭建完成。


这就说明,web项目已经搭建成功了!


3. 首页制作

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>首页</title>
<style>
</style>
</head>
<body>
  <div class="header">
  </div>
</body>
</html>


3.1 标题栏

我们在body区域画一个div,作为首页的标题栏。它的样式先全部在本页面写,也就是style块里面。

div是块级元素,所以,虽然我们没有给它设定宽度,它也默认就是父容器的宽度。所以,我们只需要给它一个高度就OK啦。

*{
  padding: 0 ;
  margin: 0 ;
}
.header {
  height: 60px ;
  background: #458fce ;
}


效果:

51.png

3.2 画一个LOGO

接下来,绘制 logo,由于楼主的 PS水平比较渣,所以这个部分就用文字替代吧。当然,如果你是PS大神的话,也可以随便给我做一个logo,在下一节中我就放上去。

求 logo …


<div class="header">
  <div class='logo'>原创文字</div>
</div>
*{
  padding: 0 ;
  margin: 0 ;
  font-family: "微软雅黑" ;
}
.header {
  height: 72px ;
  background: #458fce ;
}
.header .logo {
  color: #fff ;
  line-height: 72px ;
  font-size: 30px ;
  margin-left: 20px ;
  display:inline-block ;
  font-weight:500 ;
}

52.png


3.3 导航栏

我随便想了几个导航按钮(其实就是 ul li):

  1. 首页
  2. 原创故事
  3. 热门专题
  4. 欣赏美文
  5. 赞助


<div class="header">
  <div class='logo'>原创文字</div>
  <ul>
    <li>首页</li>
    <li>原创故事</li>
        <li>热门专题</li>
    <li>欣赏美文</li>
    <li>赞助</li>
  </ul>
</div>


同时,我们把 li 的小圆点去掉:

ul li {
  list-style: none ;
}


53.png

这个效果显然不是我们想要的,我们给logo加一个浮动。

54.png

然后,给每一个 li 添加一个左浮动:

.header ul li {
  float: left ;
}


55.png

接着,我们把位置和颜色做一些调整:

<div class="header">
  <div class='logo'>原创文字</div>
  <ul>
    <li class='first'>首页</li>
    <li>原创故事</li>
    <li>热门专题</li>
    <li>欣赏美文</li>
    <li>赞助</li>
  </ul>
</div>

css样式

.header ul li.first {
  margin-left: 30px ;
}
.header ul li {
  float: left ;
  color: #fff ;
  display: inline-block ;
  width: 112px ;
  height: 72px ; 
  text-align: center ;
  line-height:72px ;
    cursor: pointer ;
}


56.png

cursor: pointer 的意思就是说,当我鼠标划上去的时候,让鼠标变成一个小手的模样。

因为实际使用的时候,我们点击导航按钮就自动跳转页面,所以,一般来说,每一个导航按钮都应该是一个a标签。

我们将代码改一下:


<div class="header">
  <div class='logo'>原创文字</div>
  <ul>
    <li class='first'><a href="javascript:void(0)">首页</a></li>
    <li><a href="javascript:void(0)">原创故事</a></li>
    <li><a href="javascript:void(0)">热门专题</li>
    <li><a href="javascript:void(0)">欣赏美文</li>
    <li><a href="javascript:void(0)">赞助</a></li>
  </ul>
</div>


因为默认的a标签会有下划线,字体颜色是蓝色,为了美观,我们修改一下a标签的样式:


a {
    color: #fff ;
  text-decoration: none ;
}


3.5 给导航按钮添加hover事件

.header ul li :hover {
  background:#74b0e2 ;
}

效果:

57.gif


奇怪了,li 的区域没有变色,而当我鼠标划到文字上的时候,会有一个小范围的变色,这是咋回事呢?

难道hover失效了?

当楼主写到这里的时候,我也确实纳闷了一会。。。

结果一查,发现:

58.png

我擦,这里多了一个空格啊,有木有!

好吧,要细心一点。。

那么,我们去掉空格,就正常了。

.header ul li:hover {
  background:#74b0e2 ;
}


59.gif

这样就好看多了吧。

相关文章
|
3月前
|
JavaScript Java 大数据
基于JavaWeb的销售管理系统设计系统
本系统基于Java、MySQL、Spring Boot与Vue.js技术,构建高效、可扩展的销售管理平台,实现客户、订单、数据可视化等全流程自动化管理,提升企业运营效率与决策能力。
|
3月前
|
存储 前端开发 Java
【JAVA】Java 项目实战之 Java Web 在线商城项目开发实战指南
本文介绍基于Java Web的在线商城技术方案与实现,涵盖三层架构设计、MySQL数据库建模及核心功能开发。通过Spring MVC + MyBatis + Thymeleaf实现商品展示、购物车等模块,提供完整代码示例,助力掌握Java Web项目实战技能。(238字)
385 0
|
3月前
|
存储 Java 关系型数据库
Java 项目实战基于面向对象思想的汽车租赁系统开发实例 汽车租赁系统 Java 面向对象项目实战
本文介绍基于Java面向对象编程的汽车租赁系统技术方案与应用实例,涵盖系统功能需求分析、类设计、数据库设计及具体代码实现,帮助开发者掌握Java在实际项目中的应用。
137 0
|
4月前
|
算法 Java 测试技术
零基础学 Java: 从语法入门到企业级项目实战的详细学习路线解析
本文为零基础学习者提供完整的Java学习路线,涵盖语法基础、面向对象编程、数据结构与算法、多线程、JVM原理、Spring框架、Spring Boot及项目实战,助你从入门到进阶,系统掌握Java编程技能,提升实战开发能力。
236 0
|
4月前
|
Java 关系型数据库 数据库
Java 项目实战教程从基础到进阶实战案例分析详解
本文介绍了多个Java项目实战案例,涵盖企业级管理系统、电商平台、在线书店及新手小项目,结合Spring Boot、Spring Cloud、MyBatis等主流技术,通过实际应用场景帮助开发者掌握Java项目开发的核心技能,适合从基础到进阶的学习与实践。
543 3
|
4月前
|
前端开发 JavaScript Java
Java 项目实战城市公园信息管理系统开发流程与实用功能实现指南
本系统基于Java开发,采用Spring Boot后端框架与Vue.js前端框架,结合MySQL数据库,构建了一个高效的城市公园信息管理系统。系统包含管理员、用户和保洁人员三大模块,涵盖用户管理、园区信息查询、订票预约、服务管理等功能,提升公园管理效率与服务质量。
176 7
|
4月前
|
前端开发 Java 数据库
Java 项目实战从入门到精通 :Java Web 在线商城项目开发指南
本文介绍了一个基于Java Web的在线商城项目,涵盖技术方案与应用实例。项目采用Spring、Spring MVC和MyBatis框架,结合MySQL数据库,实现商品展示、购物车、用户注册登录等核心功能。通过Spring Boot快速搭建项目结构,使用JPA进行数据持久化,并通过Thymeleaf模板展示页面。项目结构清晰,适合Java Web初学者学习与拓展。
336 1
|
4月前
|
安全 Java 数据库
Java 项目实战病人挂号系统网站设计开发步骤及核心功能实现指南
本文介绍了基于Java的病人挂号系统网站的技术方案与应用实例,涵盖SSM与Spring Boot框架选型、数据库设计、功能模块划分及安全机制实现。系统支持患者在线注册、登录、挂号与预约,管理员可进行医院信息与排班管理。通过实际案例展示系统开发流程与核心代码实现,为Java Web医疗项目开发提供参考。
233 2
|
4月前
|
算法 Java 开发者
Java 项目实战数字华容道与石头迷阵游戏开发详解及实战方法
本文介绍了使用Java实现数字华容道和石头迷阵游戏的技术方案与应用实例,涵盖GUI界面设计、二维数组操作、游戏逻辑控制及自动解法算法(如A*),适合Java开发者学习游戏开发技巧。
308 46
|
4月前
|
设计模式 人工智能 前端开发
现代 Java 实现数字华容道与石头迷阵游戏的项目实战及项目开发指南
本项目基于Java 17+,采用JavaFX与MVC架构,实战开发数字华容道/石头迷阵游戏。内容涵盖技术选型、核心逻辑、现代GUI设计、动画实现及项目打包发布,结合sealed class、record等新特性,打造简洁可维护的游戏代码结构。
182 0