本文旨在介绍如何使用NetBeans开发一个Web服务。
OS:windows Xp
java IDE:NetBeans 7.0.1
日志记录:log4j
一、建立Web项目
1,新建JAVA Web项目
如图-1所示,选择“下一步”
图-1
2,在图-2中填入项目名称,选择正确的项目位置,然后点击下一步。
图-2
3,选择java EE版本、服务器
(服务器需要提前在服务器视图中进行定义,我使用的tomcat6.0),如图-3所示,选择“完成”,
图-3
4,图-4显示已经建立一个web项目,meta-inf中的context.xml文件中可以编写数据库连接信息。
如果在tomcat中部署Web项目并且使用了context文件存放数据库连接信息,那么有两种方法
(1)程序会首先在meta-inf文件夹中去寻找context.xml文件
(2)如果此文件不存在,那么程序将会到TOMCAT_HOME/conf/context.xml中去寻找相关信息。
建议大家在使用Meta_INF中的context.xml文件,这是被推荐的方法,但这种方法需要在web.xml中添加相关配置信息,下面将会讲到。
图-4
5,建立源文件包com.boss
(悲催,这个图也被截取下来了??好吧,那就写上吧)
图-5
6,在Web项目的基础上建立Web服务,在项目上右键--新建--Web服务,弹出图-7所示
图-6
7,填写Web服务类,选择服务类存在的包位置,点击“完成”
图-7
8,tomcat不支持JSR-109部署方式(至于这是个什么方式我也不清楚,既然不支持那就点击“是吧”)
图-8
9,建立了Web服务的总体显示图,服务类和服务方法都采用了注释的方法。
图-9
10,可以点击类的“设计”按钮,然后添加你需要添加的服务方法。
图-10
二、添加日志服务
(1)下载log4j的jar包,加入项目中。
(2)在com.boss包中加入日志服务类,代码如下:
- package com.boss;
- import java.io.File;
- import java.io.IOException;
- import javax.servlet.servletexception;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.apache.log4j.PropertyConfigurator;
- public class InitLog4j extends HttpServlet implements IConstStr {
- private static final long serialVersionUID = 1L;
- void destroy() {
- super.destroy();
- }
- void doGet(HttpServletRequest request, HttpServletResponse response)
- throws servletexception, IOException {
- void init() throws servletexception {
- String basePath = getServletContext().getRealPath("/");
- String confFile = getinitParameter("log4j");
- String logPathName = basePath + "log";
- File f = new File(logPathName);
- if (!f.isDirectory()) {
- f.mkdir();
- }
- if (confFile != null) {
- PropertyConfigurator.configure(basePath + confFile);
- } else {
- System.out.println(LOGCONFFILENOTEXISTS);
- }
- }
- }
(3)在WEB-INF文件夹中建立log4j.properties文件(此文件可以在web.xml进行配置),加入下列信息
- log4j.rootLogger=INFO,Rolling_file,console
- #表示console的输出是控制台输出
- log4j.appender.console=org.apache.log4j.ConsoleAppender
- log4j.appender.console.layout=org.apache.log4j.PatternLayout
- log4j.appender.console.ConversionPattern=%d - %c -%-4r [%t] %-5p %c %x - %m%n
- #表示Rolling_file输出是滚动文件输出
- Rolling_filelog4j.appender.Rolling_file=org.apache.log4j.RollingFileAppender
- log4j.appender.Rolling_file.File=d:/TedaPortalService_log.html
- log4j.appender.Rolling_file.MaxFileSize=100KB
- log4j.appender.Rolling_file.MaxBackupIndex=1
- log4j.appender.Rolling_file.layout=org.apache.log4j.HTMLLayout
- log4j.appender.Rolling_file.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
- #表示日志输出级别是INFO级别,也就是优先级大约INFO的可以输出,包括INFO,WARN,ERROR,FATAL
- log4j.logger.com.foo=INFO