.Net 搞一下Java。第一篇试一下Servlet

这里就不具体讲解了。只是把自己的学习过程记录一下。希望对新手有点用。

为了关注重点,简单的技术就不讲解了。比如怎么连接数据库,生成数据,创建表,怎么写业务逻辑之类的。仅仅列出框架最重要的概念和代码。主要是对类和程序运行的理解。

假设读者应该知道git,maven,数据库,http请求,Java语言,面向对象概念,细节一笔带过,楼主用的windows,命令行尽量用powershell,运行程序也尽量用命令行少用IDE,应该知道基本的cmd命令,应该了解JAVA代码命令行编译,classpath设置。

Servlet。功能就是接收网络请求,似乎只能接收Http请求。然后返回响应,当然也是Http响应了。无非就是接收请求的参数,请求类型get,post,delete等等,直接返回信息的话,就类似于webapi。如果返回的html字符串。那么浏览器就能看到页面了。当然页面跳转之类的也大同小异。都是通过返回不同的状态码,和头信息之类的搞定。就不详细研究了。

类似的技术。C#有webapi,mvc,WCF,webpages。PHP,Python都能做到。Java的Spring框架也能很简单的实现RestfullApi。

Servlet,就是Java的一个类,客户端请求后,服务端调用inti()方法。最后调用destroy()方法。中间调用server()方法。似乎很简单的逻辑。。。。

下面正文开始:怎么最少的代码实现Servlet。

第一步。安装JAVA,设置系统变量。楼主用的1.9最新的。

第二步。设置Tomcat,用于程序的寄宿。(Spring可以脱离Tomcat进行端口的监听,似乎要高级的多哦。。。这一点C#的wcf服务也可以做到。并且可以接收TCP,命令管道,消息队列。感觉高级一点。)

第三步。环境的Classpath添加,否则Java编译不过去的。这个就是Servlet的类。

%CATALINA_HOME%\lib\servlet-api.jar;

第四步。写一个Servlet类。

package com.leiming.hello;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloWorld extends HttpServlet {

    public void init() throws ServletException {
        System.out.println("Init");
    }

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("in server");
        response.setContentType("text/text");
        PrintWriter writer = response.getWriter();
        writer.println("Hello world");
    }

    public void destroy() {
    }
}

类讲解:引用了3个包。有3个方法。一个注册,一个回应Get。一个释放资源。比较容易理解的三个方法。

然后Javac 编译java。把类放到tomcat,Root\web-inf\class里面,注意按照包名放置,比如我就是class/com/leiming/hello/HelloWorld.class

然后在ROOT下面的Web.xml网站设置文件中,添加Servlet,(就是告诉网站。我这里面有一个servlet。类是啥。去哪里找之类的,访问的URL是啥。servlet叫啥名字)

  <servlet>
    <servlet-name>HelloWorld</servlet-name>
    <servlet-class>com.leiming.hello.HelloWorld</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>HelloWorld</servlet-name>
    <url-pattern>/HelloWorld</url-pattern>
  </servlet-mapping>

英文看得懂的应该都知道。有名字,类名(定义类和类的存放地址),还有访问的URL。很直接的显示。

然后。开启tomcat。在默认url/HelloWorld就能访问了。


OK第一个项目到此为止。

说下自己的测试结果。每次访问对象重新生成。有很多方法,是用方法名字做区分。没找到单例实现的方法。如果用命令行启动,可以在控制台输出信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值