经常看到网上许多人发表了许多很精彩,很有用的博文,我一直也想写写博文,发发心情。
平时很少玩博客,这是我第一次写博文,有不好的地方,希望读者多多给建议,非喜勿喷!
这是一篇技术博文,一个简单网站框架的搭建,不关心界面的优化,以后台程序技术实现的可能为主,主要功能需求如下:
1、写一个简单的新闻消息网站,该网站包含内容插入、检索、以及修改等操作;
2、插入几条新闻到数据库中
;
3、查询所有新闻,并在页面中显示新闻的标题、发布时间,要求对标题设置超链接,点击该链接后新开一个页面显示该新闻标题、发布时间、内容和来源;
4、能够修改和删除新闻显示页面中指定的新闻
;支持对消息内容的模糊查询,也可根据发布时间查询对应新闻消息;
5、要求使用Struts2
校验框架按以下要求进行有效性校验:
1)
对新闻标题、新闻内容作非空校验;2)
对新闻标题、新闻来源作长度校验
==================================================================================================
好,下面我们来进行技术实现的可能:
首先来看一下整个项目文件:
从上面可以看出,整个项目的实现并不复杂,只包含了四个独立的页面,所应用到的Java文件也就那么5个。呵呵,虽然看起来不复杂,可是整个逻辑思维并不容易实现,当然如果读者就是这个行业的,那就多多包含啦,呵呵,小小项目,不成文章,愿意与各位一起交流学习!
一、首先,咱们来写个简单的首页,笔者的首页很简单,就头部三个连接标题
以上首页的代码如下:
<%@
page language="java" import="java.util.*"
pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN">
<html>
<head>
<title>新闻主页</title>
<style type="text/css">
a:hover {
background-color: yellow;
font-size:
15pt;
}
td {
padding-bottom: 3pt;
padding-top:
3pt;
}
a {
text-decoration: none;
}
</style>
</head>
<body style="background-image:
url('images/huo.jpg');">
<table align="center" border="1"
style="background-color: white;">
<tr
align="left">
<td><a
href="news_index.jsp">
<b> 编辑新闻
</a>
</td>
<td><a
href="findAllAction">
<b> 查看所有新闻
</a>
</td>
<td><a
href="findAllAction?name=search">
<b> 查找新闻
</a>
</td>
</tr>
</table>
</body>
</html>
|
二、现在咱们来实现第一个简单的功能模块“编辑新闻
”
该模块主要实现新闻的插入,将数据插入数据库,并实现插入校验,不允许空插入和限制标题长度,先来实现客户端界面,客户端如下:
1、插入数据前,先搭建数据库和表格,笔者我就采用Hibernate框架技术来实现
首先配置好hibernate.cfg.xml文件,该文件放置在源文件目录下,即src目录下:
以上配置的代码读者根据自己本机环境进行修改,具体可根据笔者代码的注释进行理解,小豪童鞋采用的是MySQL数据库,关于其他数据库的配置这里不做详解,大同小异!
2、好,数据库的连接的框架,我们这里已经基本搭建好了,这里建议读者可以考虑c3p0连接池技术,通过连接池可以更加高效、快捷的进行数据库的相关操作。从上面可以看出,我们建立了一个名为“hibernate
”的数据库,这个数据库需要读者自己通过MySQL命令进行建立。
接下来我没来建议一个名为news的表
学习过的SSH框架技术的娃都应该明白,SSH框架搭建时,命名一定要严格的按照命名规范。
我们需要建立一个名为“
news
”的数据表,该表包含的字段如下:
字段名
|
类型
|
长度
|
说明
|
id
|
int
|
|
主键,自动递增
|
title
|
varchar
|
60
|
新闻标题
|
content
|
text
|
|
新闻内容
|
source
|
varchar
|
30
|
来源
|
issue_time
|
date
|
|
发布时间
|
注意:这里的表格我们在hibernate.cfg.xml文件里已经申明了,当程序运行时会自动建立表格,所以这里我们不需要手动建立,只需要配置好接下来的持久化类
就OK了。
下面贴出持久化类(POJO)的代码,(
注意类的命名
)
持久化类的建立相当简单,注意属性一定要和数据库的字段名匹配才能正确的插入。我们可以讲持久化类简单的理解为一张数据表,里面的每个属性都是一个字段。
3、
写好持久化类的代码后,接下来如何将持久化类和数据库表联系起来呢,所以,接下来我们还需要配置一个映射文件,用来提供提供持久化类与数据库表之间的映射关系。(Hibernate本身就是一个面向Java环境的对象/关系数据库映射工具)。
好,下面我们建立这样的一个映射文件,把它规范的命名为“
News.hbm.xml
”
关于这个映射文件配置的规范,读者有不明白的可以提问或者去学习或者百度,因为看起来这个代码量不多,但是这个配置文件共能十分的强大,知识量并不少。
--------------------------------------------------------------------------------------------------
注意:我们必须要将持久化类和映射文件放在同一个目录下:
4、好了,后台的程序也弄得差不多了,下面,咱们来书写页面的代码,为了大家方便,直接贴代码
<%@ page
language="java" import="java.util.*"
pageEncoding="gb2312"%>
<%@ taglib prefix="s"
uri="/struts-tags"%>
<%@ taglib prefix="c"
uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN">
<html>
<head>
<title>新闻插入页面</title>
<style type="text/css">
.tdLabel {
background-color: yellow;
font-weight:
bold;
width:
50pt;
padding-left: 10pt;
}
a {
text-decoration: none;
}
a:hover {
background-color: #bb0;
font-weight:
bold;
}
.sd {
border-top-style: none;
}
.a1,.a2 {
border-style: none;
}
.errorMessage{
color: red;
font-weight: bold;
}
</style>
<script type="text/javascript">
function
con() {
b =
document.getElementById_x_x_x_x("ct").value.trim();
a =
"请输入内容信息...";
if (a == b)
{
document.getElementById_x_x_x_x("ct").value = "";
}
}
function
con2() {
b =
document.getElementById_x_x_x_x("ct").value.trim();
if (b == "")
{
document.getElementById_x_x_x_x("ct").value = "请输入内容信息...";
}
}
function
modify(){
tForm=document.forms[0];
id=document.getElementById_x_x_x_x("InsertNewsAction_newsID").value;
tForm.action="ModifyAction?modify="+id;
}
</script>
</head>
<body style="background-image:
url('images/liu.jpg');">
<div
align="right"><a
href="index.jsp">
<img
alt="home_icon" src="images/home_icon.png" width="30" height="30"
/></a>
<br
/><a href="index.jsp"
style="margin-right: 6px;font-size:
8;"><b>首页</b></a>
</div>
<s:form
action="InsertNewsAction">
<table border="1" align="center" style="margin-top:
30pt;" class="sd">
<tr>
<td align="left"
class="a1"><a
href="findAllAction">查看新闻</a>
</td>
<td align="right"
class="a2"><a
href="findAllAction?name=search">检索新闻</a>
</td>
</tr>
<tr align="center">
<td align="center"
colspan="2"><h2> 请输入新闻信息 </h2>
</td>
</tr>
<s:if test="#parameters.modify!=null"
>
<s:iterator value="news" id="n"
>
<s:set
name="ids"><s:property value="#n.id"
/></s:set>
<s:set name="title"
><s:property value="#n.title"
/></s:set>
<s:set
name="content"><s:property
value="#n.content"
/></s:set>
<s:set
name="source"><s:property
value="#n.source"
/></s:set>
<s:textfield name="title" label="标题"
value="%{title}" />
<s:textarea name="content" cols="50" rows="10"
label="内容"
value="%{content}" />
<s:textfield name="source" label="来源"
value="%{source}" />
<s:hidden name="newsID" value="%{ids}"
/>
</s:iterator>
<td colspan="2"
align="center"><s:submit
value="提交"
theme="simple" onclick="modify()" />
<s:reset value="重置" theme="simple"
/></td>
</s:if>
<s:else>
<s:textfield name="title" label="标题"
/>
<s:textarea name="content" cols="50" rows="10"
label="内容" id="ct"
value="请输入内容信息..." onclick="con()" onblur="con2()"
/>
<s:textfield name="source" label="来源"
/>
<td colspan="2"
align="center"><s:submit
value="提交"
theme="simple" /> <s:reset value="重置"
theme="simple"
/></td>
</s:else>
<tr align="center">
<td align="right" colspan="2"
style="color:#0000CD;font-weight: bold;">当前时间:
<s:bean var="now"
name="java.util.Date" /> <s:date
name="#now"
/> </td>
</tr>
</table>
<c:if test="${param.mess=='success'
}">
<div align="center"
style="color: red;padding-top: 3pt;font-weight:
bold;">插入成功</div>
</c:if>
<c:if test="${param.mess=='error'
}">
<div align="center"
style="color: red;padding-top: 3pt;font-weight:
bold;">插入失败,请重新提交数据</div>
</c:if>
</s:form>
</body>
</html>
|
好了,晕,这么迟了?好吧,今天就先写到这了,上面的程序已经完成了整个项目的1/4进度,还不能正常的运行网站。具体的,下次再贴上吧。呵呵。。。。。。。。。。。。。
************************************************************************************************
读者注意一定要导入相关的包,相关的包可以官网进行下载,目前这个项目所需要的包如下:
==========================================================================================
分享到:
相关推荐
Struts2+Hibernate+Spring整合开发技术详解19章网上书店完整源码(内附数据库导出文件) 与书上最后一章内容完全对应 可以结合书上教程进行最后一章学习
Struts2是一个MVC(Model-View-Controller)框架,主要负责处理用户请求和控制应用程序流程,而Hibernate则是一个对象关系映射(ORM)工具,用于简化数据库操作,将Java对象与数据库表进行映射。 在"Struts2+...
轻量级JavaEE企业应用实战_Struts2+Spring3+Hibernate整合开发_第3版.part2
在IT行业中,SSH(Spring、Struts2、Hibernate)是一个经典的Java Web开发框架组合,而Redis则是一个高性能的键值存储系统,常用于缓存和数据持久化。将SSH与Redis整合,可以提升应用程序的性能和响应速度。下面将...
Struts2、Hibernate和Spring是Java企业级应用中三大核心框架,它们的整合使用能够构建出高效、可维护性高的Web应用程序。本篇将深入剖析这三者如何协同工作,并提供实际范例应用。 首先,Struts2作为MVC(模型-视图...
本项目只是简单模拟教务管理系统的基本功能,通过熟悉的教务管理系统开发来综合训练Struts2和 Hibernate5框架技术的整合应用,并进一步提高项目实践能力。 项目实现的功能包括学生管理部分,教师管理部分和管理员管理...
这些库文件包含了运行一个基于Struts 2和Hibernate的Web应用所需的所有核心组件,例如Struts 2的动作调度、视图渲染、拦截器实现,以及Hibernate的对象持久化、查询工具等。在导入项目时,只需将这些jar包添加到项目...
Struts2、Hibernate和Spring是Java企业级应用中常用的三个开源框架,它们分别负责MVC模式中的表现层、持久层和业务层管理。SSH(Struts2+Spring+Hibernate)框架整合是Java Web开发中常见的一种技术栈,能有效地提高...
轻量级JavaEE企业应用实战_Struts2+Spring3+Hibernate整合开发_第3版.part1
Java Web整合开发实战--基于Struts 2+Hibernate+Spring.pdf 1章 Web的工作机制 2章 搭建Java Web开发环境 3章 JSP及其相关技术 2篇 表现层框架Struts技术 4章 Struts快速上手 5章 解密Struts之核心文件 6章 ...
轻量级Java EE企业应用实战——Struts 2+Spring+Hibernate整合开发电子书123全套.part3.rar
Struts2是一个开源的Web应用程序框架,基于MVC设计模式构建而成。它简化了Java Web应用的开发过程,提供了一套易于使用的API,用于处理HTTP请求,并将数据传递给模型层进行业务逻辑处理,最后将结果返回到视图层进行...
同时使用了Struts2、Spring4、Hibernate4、log4j、slf4j、junit4、ehcache等库或框架,搭建一个最基本的项目原型。 三、 三大框架最新版本下载:截止2014-10-01 Struts2.3.6:发布于2014-05-03,目前的最新版本。...
这个"struts2+hibernate+freemarker"项目实例是将这三个框架集成到一起,构建了一个完整的Web应用程序。 **Struts2** 是一个强大的MVC框架,它基于Action和Result的设计模式,负责处理用户的请求,并将其转发到相应...
这个"Struts2+Hibernate+Spring整合开发深入剖析与范例应用02"的学习资源,很可能是关于这三大框架集成使用的详细教程或案例集。02这个文件名可能代表系列的第二部分,意味着它可能在前一部分的基础上进一步深入讲解...
总的来说,"最新项目系统:Struts2+Spring4+Hibernate4三大框架整合"为学习和实践Java Web开发提供了一个实用的平台,对于提升开发者的技术水平和项目经验具有极大的帮助。通过深入研究和实践,开发者可以掌握Java ...
轻量级JavaEE企业应用实战_Struts2+Spring3+Hibernate整合开发_第3版.part5
Struts2、Hibernate和Spring是Java Web开发中的三大框架,它们各自负责应用程序的不同层面:...通过以上知识点的深入学习和实践,开发者能更好地掌握Struts2、Hibernate和Spring的整合应用,提升Java Web开发能力。
《轻量级Java EE企业应用实战——Struts 2+Spring+Hibernate整合开发电子书1》是一本专注于Java EE企业级应用开发的书籍,主要涵盖了Struts 2、Spring和Hibernate这三个流行开源框架的整合应用。这本书对于Java...
【标题】:“全套源码-论坛系统(Struts 2+Hibernate+Spring实现)”揭示了一个基于Java技术栈开发的论坛系统,它整合了三个重要的框架:Struts 2、Hibernate和Spring。这个项目旨在提供一个完整的解决方案,帮助...