Servlet 简单指南

首先大概理解一下什么是Servlet

假象现在有一个运行在Web服务器端的Java应用, 那个这个Servlet就是一个规定了这些Java应用响应请求的一些规范;

或者说Servlet干的事情就是, 在服务器端处理浏览器发来的请求, 然后返回给浏览器一个界面(通常是一个html的网页页面)

现在开始吧, 首先需要一个tomcat容器, 因为要在本地测试的时候模拟一个服务器端, 我用的是tomcat版本9.0.14, 关于tomcat在mac上的一些配置相关内容可以看
mac下配置tomcat

然后在IDEA中创建项目, 注意最好是这样创建一个web的java应用

然后就开始辣!
建完项目之后能看到一个类似这样的目录
在这里插入图片描述

我们一般把代码写在src文件夹里面, 把在服务器端要显示的网页直接放在web文件夹里(注意不是WEB-INF文件夹), 然后在WEB-INF文件夹里面的这个web.xml是作为服务器端的配置文件, 作用这么理解:
比如用户在浏览器中输入了一个地址
http://www.xxx.com/aaa/bbb.html
这个的意思是用户访问http://www.xxx.com/这个网站, 而这个网站其实就可以看做是我们刚才创建的web项目本身, 后面的aaa是访问了web应用下的文件夹目录, 比如我们在web文件夹中新建了一个aaa文件夹, 里面放了一个bbb.html文件, 那么我们就可以用上面的这个网址来在浏览器上访问到我们要看的html网页了;

那个这个http://www.xxx.com/是一个域名, 是需要我们在公网备案购买的, 然后由DNS(域名解析服务器)解析到对应的IP地址, 最后访问对应的服务器的IP地址, 就可以访问服务器端了;
我们还有可能会看到这样的localhost:8888

后面这个8888就是服务器的端口号, 就是运行服务器上运行容器的端口
在WEB-INF文件中我们看到了一个web.xml文件, 在这个xml文件中可以配置绑定一个映射, 把url和对应的servlet的java程序绑定起来;

比如我输入http://www.xxx.com/hello, 可能服务器上并没有一个网页叫hello, 但是只要我绑定了hello这个url和一个servlet, 就可以在服务器端返回一个页面, 这个页面由servlet来生成;
在xml里面做这样的配置:

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

在Servlet类中可以看到有2个主要的方法, doPost和doGet方法, 这是处理来自于客户端的Post和Get请求的;

也可以重写Service方法, 这个方法会在不论是Post还是Get传来时都会运行;

然后关于跳转, 一般有2种跳转, 服务器端跳转和客户端跳转

服务器端跳转:

request.getRequestDispatcher("a.html").forward(request, response);

这就好比是对于某个a.html的请求, 服务器转给他b.html的页面, 但是客户端是感受不到的;

客户端跳转:

response.sendRedirect("b.html");

这就想当于在客户端重新访问了一个b.html页面, 但是这个访问指令(重定向)是服务器来下达的, 不是客户端自己选择的, 所以有可能会有劫持问题;

哎呀不想写了…就差不多这样把;

详细内容可见how2j-servlet内容

猜你喜欢

转载自blog.csdn.net/qq_33982232/article/details/86547771