Mac下第一个java-servelet程序

可学习到:

  • 设置环境变量方便运行命令和编译程序。
  • servlet-api.jar中包括了servlet相关的api和类
  • tomcat是servlet的容器,没有容器程序跑不起来。

tomcat

下载地址:http://tomcat.apache.org/
我下载的是:apache-tomcat-7.0.67.tar.gz
解压开之后放到usr/local目录中

tomcat目录

启动

/usr/local/apache-tomcat-7.0.67/bin/startup.sh

设置环境变量
在.bash_profile文件中设置

export PATH=$PATH:/usr/local/apache-tomcat-7.0.67/bin

编写程序
把tomcat/bin目录下的servlet-api.jar放到程序目录

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

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
 
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
      PrintWriter pw  = resp.getWriter();//得到一个输出流
         //写给Client端一个简单网页信息
         pw.println("<html><head></head><body>Server:Hello Client~</body></html>");
         pw.flush();
         pw.close();
        super.doGet(req, resp);
    }
 
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
        super.doPost(req, resp);
    }
 
}

编译

javac -cp /Users/Mac/Desktop/Dev/qq/servlet-api.jar /Users/Mac/Desktop/Dev/qq/HelloServlet.java 

设置classpath
在.bash_profile文件中设置

export CATALINA=/usr/local/apache-tomcat-7.0.67
export CLASSPATH=$CATALINA/lib/servlet-api.jar:$CLASSPATH

编译

javac /Users/Mac/Desktop/Dev/qq/HelloServlet.java

新建webapp
在tomcat 的webapps新建一个目录如下

mywebapp

编写web.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
 
<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_3_0.xsd"
  version="3.0"
  metadata-complete="true">

  <servlet>
        <servlet-name>hello</servlet-name>
        <servlet-class>HelloServlet</servlet-class>
    </servlet>
 
    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
 
    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
 
</web-app>

访问http://localhost:8080/MyWebApp/hello
输出
Server:Hello Client~
参考
http://blog.csdn.net/xiaominghimi/article/details/7603133
http://blog.csdn.net/xiaominghimi/article/details/7603134
http://www.iitshare.com/under-the-cmd-compile-the-java.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,854评论 18 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,935评论 6 342
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,351评论 11 349
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,742评论 18 399
  • 转自陈明乾的博客,可能有一定更新。 转原文声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、...
    C86guli阅读 4,716评论 6 72