1、HTTP访问方式:
GET、POST、HEAD、DELETE、TRACE、PUT、OPTIONS
HEAD表示查询文档头信息,服务器会返回文件类型、长度、最后修改时间等信息,该方式很少被使用。
GET方式常用来查询信息;提交数据不能超过256个字符(URL总长度不能超过255个字符)。提交的查询内容java是显示在浏览器地址栏中的。
POST方式提交数据,数据不在浏览器地址栏中显示。发送的命令需要提供提交的数据类型和长度。常用来提交表单数据。提交的内容长度不受限制。
数据类型有两种:一种是普通的文本类型(ASCII码数据),类型为“application/x-www-form-urlencoded”。
另一种是文件数据(二进制数据),类型为“multipart/form-data”。
2、servlet
1)Servlet接口:javax.servlet.Servlet
2)Servlet包:javax.servlet.*;javax.servlet.http.*;
javax.servlet.http.HttpServlet类已经实现了Servlet接口的所有方法。
3)配置servlet
<servlet></servlet> Servlet的开始标签和结束标签;
<servlet-name></servlet-name> Servlet的名称 必需;可为任意值,但是必须在web.xml中是唯一的
<servlet-class></servlet-class> Servlet的类名 必需;
<init-param></init-param> 初始化参数;包括一个参数名称<param-name>和参数值<param-value>
<load-on-startup></load-on-startup>配置servlet的加载方式:1,Tomcat会在启动时自动加载该servlet;0,Tomcat会在客户第一次请求该Servlet时才加载该Servlet
<servlet-mapping></servlet-mapping>配置servlet的访问方式
<servlet-mapping>
<servlet-name></servlet-name>
<url-pattern></url-pattern><!--可配置多个 运行通配符"*"与"?"-->
</servlet-mapping>
<init-param></init-param>初始化参数 getInitParameter(String param)来获取初始化参数
<context-param></context-param>上下文参数,文档参数
getServletConfig().getServletContext()来获取一个ServletContext对象,使用ServletContext的getInitParameter()方法来获取指定名称的参数,getInitParameterNames()获取所有的context-param参数。
资源注射(Resource Injection) ,资源注入
服务器启动时会自动将web.xml里配置的信息注入到Servlet。
通过注解(Annotation,@Resource)完成,是一种特殊的接口,以“@”符号为标志。
e.g. :
@Resource(name="messageNameInWebXml")
private String message;
或者
private @Resource(name="messageNameInWebXml") String message;
web.xml中用<env-entry>来配置资源。仅能配置java.lang包下标准类型的变量,如String、Integer、Double等。
但是servlet可以注射自定义的java bean以及数据源等复杂类型变量。不过资源注射需要服务器的支持。tomcat6以上支持。
4)使用JNDI获取资源
资源注射的工作原理是JNDI(Java命名和目录接口,Java Naming and Directory Interface)。InjectionServlet实例中使用<env-entry>配置相关的JNDI资源,然后使用@Resource将指定名次的JNDI资源注射到InjectionServlet里。
Servlet生命周期
init(ServletConfig conf) -> Service(ServletRequest req, ServletRespond res) ->destroy()