首先了解下我的开发工具,sql server 2000数据库和eclipse开发平台和tomcat6 web服务器。在测试数据库连接的过程中,遇到了不少问题,首先需要sql server的驱动,
驱动下载sqljdbc.jar
下面是驱动和URL的写法。
Driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"
Url=”jdbc:sqlserver://localhost:1433;DatabaseName=simple”
2000,2005,2008有没有区别,大家查查资料吧,只需google或百度一下即可。
如果上面配置测试时出现下面的错误信息
com.microsoft.sqlserver.jdbc.SQLServerException: 到主机的TCP/IP 连接失败。java.net.ConnectException: Connection refused: connect
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithoutFailover(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
针对sql server 2000而言可能是系统引起的,如果你的系统是sp3或sp4版本,需要下个sql server 的补丁包就可以了。如是是sql server 2005,可能是tcp/ip服务没有打开,因为2005默认是关闭的。打开“SQL Server Configuration Manager”,展开“SQL Server 2005 网络配置”,选中“MSSQLSERVER的协议”,在右面的窗口中,右击“TCP/IP”,选启动。 最后,如果仍然不成功,可能是防火墙对1433端口的限制。可以进入防火墙,把例外选项中增加TCP对应1433端口,UDP对应1433端口。
以上问题只是针对sql server,选择其他数据库(mysql oracle)的不需考虑。数据库问题搞定以后,下面我们动手写程序吧。忘记告诉你一个很重要的问题,simple可以抛弃数据库而启动。下面让我们先写个没有数据库的项目吧。暂且起名test.下面应该都是我们Web开发者熟悉的、
第一步:添加我们需要的jar文件,simple网站都可以下载的。
第二步:配置WEB-INF/web.xml,里面需要存在的内容有。
- <filter>
- <filter-name>actionFilter< span>filter-name>
- <filter-class>net.simpleframework.web.page.PageFilter< span>filter-class>
- < span>filter>
- <filter-mapping>
- <filter-name>actionFilter< span>filter-name>
- <url-pattern>*.jsp< span>url-pattern>
- < span>filter-mapping>
- <listener>
- <listener-class>net.simpleframework.web.page.PageEventAdapter< span>listener-class>
- < span>listener>
其他的东西我们以后在学习中加吧。因为现在先不考虑数据库,所以现在不需要配置project.xml.
第三步:下面让我们写一个index.jsp,很简单的内容哦。
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- hello world
第四步:运行tomcat,看看效果吧。
貌似很难看。
第五步:加一个网站都有的头和脚。代码如下。
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <html>
- <body style="overflow: hidden;">
- <div id="t_header">
- <div class="top">
- </div>
- </div>
- <div id="t_main">
- hello world
- </div>
- <div id="t_footer">
- <a target="__blank" href="http://www.simpleframework.net/">www.google.com</a> 版权所有 Copyright © 20010-2010 All
- Rights Reserved.
- </div>
- </body>
- </html>
相应的index.xml内容如下。
- <?xml version="1.0" encoding="UTF-8"?>
- <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:noNamespaceSchemaLocation="./xsd/default/simple.xsd">
- <scriptEval>first</scriptEval>
- <importCSS>
- <value>/template/resource/css/t.css</value>
- </importCSS>
- <importJavascript>
- <value>/template/resource/js/t.js</value>
- </importJavascript>
- </page>
当然为了美观大方就要引入样式和脚本.
可要记住了,引入样式的是importCSS;引入脚本的是importJavascript
再次启动tomcat看看结果吧。
自己觉得也比以前好看多了。下面就有一个问题,如果再写一个页面就要重写页头和页脚。很麻烦…仔细看了看simple发现,其实很简单就可以解决这个问题.
下面就多了几个页面:center.jsp中间页面用来加载页头和页脚.
- <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
- <html>
- <body style="overflow: hidden;">
- <%
- String center = request.getParameter("center");
- %>
- <jsp:include page="/template/header.jsp" flush="true"></jsp:include>
- <div id="t_main">
- <table width="100%" height="100%" border="0" cellpadding="0"
- cellspacing="0">
- <tr>
- <td valign="top" height="100%"><jsp:include page="<%=center%>"
- flush="true"></jsp:include></td>
- </tr>
- </table>
- </div>
- <jsp:include page="/template/footer.jsp" flush="true"></jsp:include>
- </body>
- </html>
我相信看到代码就明白了吧,
/template/header.jsp
/template/footer.jsp
这两个页面代码就不写了,你们懂的。
Index.jsp的代码是。
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <jsp:include page="/template/center.jsp" flush="true">
- <jsp:param value="/homepage.jsp" name="center"/>
- </jsp:include>
/homepage.jsp页面是我们的真正要显示的东西,也就是hello world的地方。
如果还有其他的页面只需要改变jsp:param,是要显示的页面即可。真的很简单,方便。页面显示效果和上图一样。
最后:看到simpeframework官网上的模块,挺玄挺诱人。下面我们也加几个,看看效果。
再看看代码,在index.xml里仅仅加这么几行代码:
- <components>
- <layout name="homepageLayout" containerId="homepageLayout"
- jobManager="${net.simpleframework.organization.IJob.sj_manager}"
- draggable="true">
- <column width="25%">
- <pagelet module="weather" align="left" sync="false">
- <title value="天气预报- 北京" />
- <options><![CDATA[#Mon Mar 21 17:16:45 CST 2011
- _weather_code=CHXX0008
- ]]></options>
- </pagelet>
- </column>
- <column width="75%">
- <pagelet module="rss" align="left" sync="false">
- <title value="新浪新闻" />
- <options><![CDATA[#Mon Mar 21 17:16:45 CST 2011
- _rss_tip=true
- _rss_url=http\://rss.sina.com.cn/news/marquee/ddt.xml
- _rss_times=0
- _rss_rows=6
- ]]></options>
- </pagelet>
- </column>
- </layout>
- </components>