区域设置语言类型();//获取用户语言
字符串localip();//获取本地ip
intlocalport();//获取本地端口
字符串localnam:本地端口:远程端口);}publicvoiddoget(httpservletrequest请求,httpservletresponse响应)
引发servletexception,ioexc
web容器的工作原理
市面上常见的javaweb容器有两个,一个是jetty,一个是tomcat。如果你想用java实现一个web容器,你首先要知道它是如何工作的。
以tomcat为例。我们平时开发的war包会放在tomcat中的webapp下,tomcat会自动解压war包。解压后其实就是一个servlet应用!换句话说,我们写的war包中的servlet应用只需要关注业务层面,http等网络链接的处理交给tomcat。请求到达tomcat的流程如下:
默认情况下,servlet容器通过单实例和多线程处理多个请求:
1.web服务器启动时(或者客户端向服务器发送请求时),加载并实例化servlet(只有一个servlet实例);
2.容器初始化servlet主要读取配置文件(比如tomcat,可以通过servlet.x访问ml的ltconnectorgt设置线程池中的线程数,通过web.xml初始化线程池,初始化各个参数值,等等。
3.当请求到达时,servlet容器通过dispatchaerthread将它管理的线程池中的workerthread调度给请求者;
4.线程执行servlet的服务方法;
5.请求结束后,放回线程池等待被调用;(注意:避免使用实例变量(成员变量),因为如果有一个成员变量,可能会出现多个线程同时访问资源时,都去操作它,造成数据不一致,从而造成线程安全问题。)