今天终于搞出来来了Servlet的HelloWorld,记录下过程。
下图是个整体框架图:
开发流程图:
第一步:配置TOMCAT
在tomcat的安装目录下,找到webapps文件夹,新建文件夹myWebSite(这个名字可以任意,代表自己的工程名字),在myWebSite文件夹下新建WEB-INF(这个名字不能错),在WEB-INF文件夹下新建两个文件夹分别是classes、lib文件夹,并新建一个文件web.xml。这里可以找到webapps文件夹下的ROOT文件夹,将里面的WEB-INF文件夹拷到myWebSite就可以了。没有的文件夹要新建。
第二步:开发Servlet(引入servlet-api.jar)
这里使用的工具是JCreator,其实Eclipse也可以的。这一步要做的事情就是在上面的classes文件夹里新建一个Hello类。先下载并安装JCreator,新建一个JavaFile,名字Hello,路径选到classes文件夹下。然后要引入servlet-api.jar这个包。点击JCreator的配置---选项---JDK配置文件,选中右边的JDK版本,如上图所示,点编辑,点添加--添加存档,然后将TOMCAT安装目录下得lib文件夹下得servlet-api.jar选中,确定即可。
编写代码:
package yanguoqi;
import javax.servlet.*;
import java.io.*;
public class Hello{
} 然后点工具---实现接口---找到javax---servlet---servlet,选中即可。
最终的Hello.java源代码为:
- //这是我的第一个servlet,使用实现servlet接口的方式来开发
- package yanguoqi;
- import javax.servlet.*;
- import java.io.*;
- import javax.servlet.Servlet;
- import javax.servlet.ServletConfig;
- import javax.servlet.ServletException;
- import javax.servlet.ServletRequest;
- import javax.servlet.ServletResponse;
- import java.io.IOException;
- public class Hello implements Servlet{
- /**
- * Method init
- * @param parm1
- *
- @throws ServletException
- *
- */
- //初始化servlet,类似于构造函数
- //只第一次访问survlet时被调用
- public void init(ServletConfig parm1) throws ServletException {
- // TODO: 在这添加你的代码
- System.out.println("init ");
- }
- /**
- * Method getServletConfig
- * @return
- */
- //得到servlet配置文件,不太重要
- public ServletConfig getServletConfig() {
- // TODO: 在这添加你的代码
- return null;
- }
- /**
- * Method service
- * @param parm1
- * @param parm2
- *
- @throws ServletException
- @throws IOException
- */
- //用于处理业务逻辑
- public void service(ServletRequest parm1, ServletResponse res) throws ServletException, IOException {
- // TODO: 在这添加你的代码
- System.out.println("service it");
- PrintWriter pw = res.getWriter();
- pw.println("Hello World!");
- }
- /**
- * Method getServletInfo
- * @return
- */
- public String getServletInfo() {
- // TODO: 在这添加你的代码
- return "";
- }
- /**
- * Method destroy
- */
- public void destroy() {
- // TODO: 在这添加你的代码
- System.out.println("destroy!");
- }
- }
注意这个程序写好后要编译下!每次修改后也应该编译。
第三步:部署web.xml
打开web.xml,坑爹的是JCreator貌似打不开,一打开就报错要求关闭。不得已,用eclipse打开来编辑。
- <span style="font-size:18px;"><?xml version="1.0" encoding="UTF-8"?>
- <!-- ISO-8859-1 -->
- <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor
- license agreements. See the NOTICE file distributed with this work for additional
- information regarding copyright ownership. The ASF licenses this file to
- You under the Apache License, Version 2.0 (the "License"); you may not use
- this file except in compliance with the License. You may obtain a copy of
- the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required
- by applicable law or agreed to in writing, software distributed under the
- License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
- OF ANY KIND, either express or implied. See the License for the specific
- language governing permissions and limitations under the License. -->
- <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
- version="2.5">
- <display-name>Welcome to Tomcat</display-name>
- <description>
- Welcome to Tomcat
- </description>
- <servlet>
- <!--给survlet起个名字,可以是任意的 -->
- <servlet-name>hello</servlet-name>
- <!--servlet的路径(包名+类名)-->
- <servlet-class>yanguoqi.Hello</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>hello</servlet-name>
- <!-- 这是在浏览器中输入的访问该survlet的url,任意的 -->
- <url-pattern>/yanguoqi</url-pattern>
- </servlet-mapping>
- </web-app>
- </span>
第四步:输入网址访问
到tomcat文件夹下,找到bin下得startup打开,然后输入:http://localhost:8080/myWebSite/yanguoqi进行访。
注:reload一个servlet的方法:输入网址:http://localhost:8080/,点Tomcat Manager。会要求输入用户名和密码。我的是解压缩版本的,因此要自己设置下。如果是安装版的会提示设置密码。找到conf文件夹下的tomcat-users,添加用户及密码:
<role rolename="manager-gui"/>
<user username="yan" password="yan" roles="manager-gui"/>
至此完毕!明日再战。