在此之前,我们假设大家的jboss已经在Eclipse上配置好了,如果没有配置好,具体可以搜索百度或者看我之前的博客。
jboss其实和tomcat类似,都是JAVAEE服务器应用软件,所以这里两者兼可。
采用servlet进行Web应用开发时,通常都使用通过Eclipse创建动态Web工程,再具体完成各种工作。
1、创建工程
采用servlet进行web开发应用时,我们通常是使用eclipse创建一个动态web工程。如下图所示:
首先·我们先点击eclipse菜单栏上的File->New->Other,在出现的选项框里选择Web->Dynamic Web Project.再点击Next,如下图所示:
接下来对工程的名字进行设置,比如工程名字,工程放置位置,工程运行环境等等。我们将工程名字设置为FirstServlet,工程存放位置使用默认的的位置,默认位置是在Eclipse的workspace中创建一个与工程名字相同的文件夹,用来存放代码。我们将工程的运行环境设置为JBoss7.1,如下图所示即可:
点击Next,进入下一步。这里是工程结构设置页面,在这里设置工程源代码放置的文件夹,和工程Web文件结构,一般我们直接默认。
点击Next,出现下图。这里也同样是设置工程结构目录设置页面,只不过这里是设置工程的Web文件结构。这里一定要注意将产生web.xml的选项勾选上,这样可以让Eclipse在创建工程项目的时候自动在web.xml配置文件。
点击Finish,这样我们的第一个工程就创建好了。以下是我们工程的内部文件的组织结构。其中Java Resource下的src是我们保存java源代码的地方,即Servlet保存的地方。Libraries目录下,是在编译java源码需要用到的类库的引用说明。WebContent目录是我们存放Web工程的所有配置文件,页面文件和资源文件。我们与servlet有关的jsp及html文件均存放在Webcontent的目录下。
2、创建servlet类
右键点击src目录,选择New->Servlet,然后出现下图:
接下来我们填入包名以及该Servlet的类名,如下图所示:
然后点击Finish,我们的第一个Servlet就创建成功了,以下是工程的结构目录:
HelloWorld的代码如下:
package javaee;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class HelloWorld
*/
@WebServlet("/HelloWorld")
public class HelloWorld extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public HelloWorld() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
// TODO Auto-generated method stub
//让输出的页面支持中文
response.setContentType("text/html; charset=UTF-8");
//获得输出对象
PrintWriter out = response.getWriter();
//向请求端输出信息
out.println("Hello World." + "<br>");
//显示请求是以POST还是GET方式提交的
out.println(request.getMethod());
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
this.doGet(request, response);
}
}
3、配置servlet类
一共有两种方式来配置servlet,一种是使用web.xml文件配置Servlet类,这是较为传统的方法。另一种是标注方式配置Servlet,我们这里选择第二种。
servlet3.0加入了新的标注支持,它的部署描述文件web.xml中,顶层标签中有metadata-complete属性,该属性指定当前的部署描述文件是否完全。如果设置为true,则容器部署时只依赖web.xml文件,忽略所有的标注;如果不配置该属性,或者值为false,则表示支持标注:
代码里的@WebServlet("/HelloWorld")
就是我们的标注,括号里为我们Servlet的路径,可以使用/HelloWorld来访问我们这个Servlet程序。在浏览器中输入
4、发布Servlet类
1、右键点击servet所在的工程名,选择Run AS->Run on Server,出现下图:
2、我们选择对话框出现的JBoss AS 7.1,然后点击Next,出现下图:此处我的Eclipse已经自动将HelloServlet自动填入到Configured中了。如果你的文件名出现在Avaliable中的话,请选择它,并点击Add加入到Configured中。
3、点击Finish,完成部署,出现下图,servlet运行成功!