2019-06-05
一、idea与Tomcat配置
1、新建工程
新建工程,选择Web工程。
image.png2、配置Tomcat
配置本地Tomcat服务,在Application server中选择Tomcat的安装位置。
image.png3、配置编译输出的class文件位置
将编译后的class文件导出至WEB-INF中的classes文件夹。
image.png
4、启动服务
点击按钮启动服务。
image.png
如果页面显示如下,证明启动成功。
image.png
二、servlet基础
1、servlet概述
servlet主要处理客户端传来的HTTP请求,并返回一个响应。主要有doGET、doPost方法等。
2、servlet生命周期
servlet生命周期主要分为3个阶段,初始化阶段、运行阶段、销毁阶段。
初始阶段
客户端向servlet发起HTTP请求时,servlet会检查内存中是否存在servlet对象。若存在直接使用。若不存在,则调用init()方法进行实例化。init()方法只会调用一次。
运行阶段
在运行阶段,servlet会回调service()方法,通过servletRequest对象获取客户端的信息,并通过servletResponse对象进行响应。
servlet的每次访问请求,都会回调service()方法,这意味着service方法会被调用多次。
销毁阶段
当服务器关闭或web应用移除servlet容器时,会调用销毁方法destory()。
如果希望在tomcat启动时,servlet也跟着启动,可在web.xml中的相关servlet配置中加入如下语句。
<load-on-startup>1</load-on-startup>
值必须为整数,若这个值为正整数或0,则会在应用启动时加载,数值越小,越先被加载。
3、servlet多重映射
同一个servlet可以被映射成多个虚拟路径。主要实现方式有2种。
配置多个servlet-mapping
<servlet-mapping>
<servlet-name>RequestMethodServlet</servlet-name>
<url-pattern>/RequestMethodServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>RequestMethodServlet</servlet-name>
<url-pattern>/RequestMethodServlet1</url-pattern>
</servlet-mapping>
在一个servlet-mapping配置多个url-pattern
<servlet-mapping>
<servlet-name>RequestMethodServlet</servlet-name>
<url-pattern>/RequestMethodServlet</url-pattern>
<url-pattern>/RequestMethodServlet1</url-pattern>
</servlet-mapping>
4、servletConfig接口
用于在servlet中声明一些辅助信息。
具体用法:
在web.xml中声明参数
<init-param>
<param-name>city</param-name>
<param-value>beijing</param-value>
</init-param>
在servlet中获取数据
ServletConfig servletConfig = getServletConfig();
String city = servletConfig.getInitParameter("city");
resp.getWriter().println("city: " + city);
5、servletContext接口
在servlet启动后,系统会为当前web应用创建一个唯一的servletContext对象。
具体用法:
在web.xml中声明参数
<context-param>
<param-name>city</param-name>
<param-value>hangzhou</param-value>
</context-param>
在servlet中获取数据
ServletContext servletContext = getServletContext();
String city = servletContext.getInitParameter("city");
resp.getWriter().println("city = " + city);