文章目录

  • 介绍
  • 添加第三方库
  • 验证
  • 总结


介绍

上篇文章介绍了在Eclipse中如何将第三方库自定义成用户库并添加到Java工程中,本篇文章介绍的是如何在Web工程中添加第三方库。

虽然在Web工程中也可以用上述方法添加用户库,但将Web工程打包并发布成Web应用的WAR文件时,用户库中的JAR包并不会打到WAR文件中的 WEB-INF/lib 目录中(关于该目录的作用可以参考这篇文章)。

所以,我们需要换一种方式在Java Web工程添加第三方库。,首先要做以下准备工作:

  • 下载Spring框架,可以参考这篇文章;
  • 在Eclipse中建立Java Web工程,可以参考这篇文章。

添加第三方库

假设我们建立的Java Web工程,初始的工程结构如下图:

java第三方类如何引入 java添加第三方类库_添加第三方JAR包


可以看到,目前该工程节点下只有JRE所带的系统库,WEB-INF/lib目录中也没有第三方库,那怎么添加呢?

其实,最简单直接的方式就是直接拷贝

首先,我们来看看还没有添加第三方库的Build Path的配置页面(现在我们应该很熟悉如何打开这个配置页面了):

java第三方类如何引入 java添加第三方类库_Java_02


没错,上图中红色方框中的这个库其实就是Eclipse专门为Java Web工程所建立的库,但这个库里还没有添加任何第三方JAR包。前面说了,直接拷贝就行,先转到文件系统中你所下载并加压的Spring框架目录中:

java第三方类如何引入 java添加第三方类库_Web工程_03


可以选择多个JAR包,我这里选择的是core、beans、context等Spring框架最核心的几个JAR包,注意,javadoc和sources类型的JAR包不需要,它们是文档和源码。

选中之后,然后敲键盘Ctrl + C拷贝。

再转到Eclipse中,点击 选中 test-web工程WebContent/WEB-INF/lib中的lib节点,表示要将第三方JAR包复制到此处。

现在敲键盘Ctrl + V,奇迹发生了,此时lib节点变成了可以展开的状态,然后Libraries节点底下多了一个上面所说的Eclipse专门为Java Web工程所建立的库Web App Libraries,它也是可以展开的,如下图红色方框所示:

java第三方类如何引入 java添加第三方类库_Web工程_04


我们可以展开这两个节点看看,里面就是我们拷贝过来的第三方JAR包。

实际上,我们也可以拷贝到文件系统中对应的lib文件夹下,然后再刷新Eclipse中的Project Explorer视图,这种方法的效果是一样的。

我们再打开test-web工程Build Path的配置页面,这时也可以看到Web App Libraries下面有了我们所添加的第三方JAR包:

java第三方类如何引入 java添加第三方类库_Web_05

验证

我们还需要添加Servlet相关的JAR包,可以参考这篇文章。

然后,新建一个Servlet类并实现GET请求处理的逻辑,最后使用注解的方式配置该Servlet,可以参考这篇文章。

在编写代码中,我们要充分利用Eclipse的智能提示,这样会大大提高我们的编码效率:

java第三方类如何引入 java添加第三方类库_Java_06


可以看到,Eclipse的智能提示中可以找到我们添加的Spring的JAR包中的类,这就表明我们添加的是正确的。

完整的代码是这样的:

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

@WebServlet(urlPatterns = {"/hi"})
public class HelloWorldServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
		response.setContentType("text/html");
		PrintWriter writer = response.getWriter();
		writer.print("<html><head></head><body>"
				+ "<h1>Hello World! Your IP is " + request.getRemoteHost()
				+ "</h1>"
				+ "</body></html>");
		
		ApplicationContext context = new ClassPathXmlApplicationContext("");
	}
}

可以参考这篇文章,运行并测试一下,看看会产生什么效果。

总结

  • 在Java Web工程中添加第三方JAR包最直接的方式就是将JAR包拷贝到WEB-INF/lib目录下。