Use server-side includes. You basically set up normal HTML pages for every piece of content that will be repeated within your site. Then, you reference them from your content as necessary. You can use them in PHP, ASP, JSP, or SHTML. Here's a typical layout:
page.shtml
Code:
<!--#Include File="header.htm"-->
<h1>My Page</p>
<p>Here's the content of my page</p>
<!--#Include File="footer.htm"-->
header.htm
Code:
<html>
<head><title></title></head>
<body>
<table width="100%" cellpadding="0" cellspacing="10" border="0">
<tr>
<td bgcolor="#CCCCCC">
<h1>Here's Where My Banner Would Go !!</h1>
</td>
</tr>
<tr>
<td width="120" bgcolor="#DDDDDD">
<a href="home.shtml">Home</a><br>
<a href="page.shtml">Page</a><br>
<a href="page2.shtml">Page2</a><br>
<a href="page3.shtml">Page3</a><br>
<img src="images/spacer.gif" width="120" height="1" border="0"><br>
</td>
<td width="100%">
footer.htm
Code:
</td>
</tr>
</table>
</body>
</html>
^^ I enhanced it a little for you... try it out and see if it works for ya!