2017-8-30

xiaoxiao2021-02-28  96

Tomcat


修改端口号

可以通过修改server.xml文件中的配置信息来修改Tomcat服务器的端口号。

<Connector port="8989" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/>

Servlet


Java Servlet是和平台无关的服务器端组件Servlet容器负责Servlet和客户的通信以及调用Servlet的方法。

配置和映射Servlet

方式一:在web.xml文件中配置。

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

Servlet的生命周期

构造器:只被调用一次,只有第一次请求Servlet时,才会调用构造器创建Servlet实例。init:只会被调用一次,在创建好实例后立即被调用,用于初始化当前Servlet。service:能被多次调用,被用来响应客户端请求。destory:只被调用一次,在Web容器卸载当前Servlet时被调用,用于释放当前Servlet所占用的资源。

指定Servlet被创建的时机

可以通过在Servlet标签下添加如下代码

<servlet> ........ <load-on-startup>1</load-on-startup> </servlet> 其值为非负数时,在当前WEB应用被WEB容器所加载时创建该Servlet,值越小越先被加载。 其值为负数,或不存在该标签时,会在第一次被客户端请求时创建。

Servlet映射为URL

*.扩展名以’/’开头并以’/*’结尾仅仅为一个正斜杠(/)

如:

<url-pattern>*.action</url-pattern> <url-pattern>/abc/*</url-pattern> <url-pattern>/*</url-pattern> <url-pattern>/</url-pattern>

注意同时带有’/’和扩展名的映射不合法

缺醒Servlet

如果Servlet映射路径仅仅为一个正斜杠(/) 那么这个Servlet就成为当前Web应用程序的缺省Servlet。 缺省Servlet用于处理所有其他Servlet都不处理的访问请求。

配置Servlet初始化参数

<servlet> ........ <init-param> <param-name>user</param-name> <param-value>root</param-value> </init-param> <init-param> <param-name>password</param-name> <param-value>123</param-value> </init-param> </servlet>

必须在load-on-startup节点前 可通过ServletConfig来获取初始化参数

配置Web应用的上下文参数

<web-app> ........ <context-param> <param-name>user</param-name> <param-value>root</param-value> </context-param> </web-app>

可通过ServletContext对象获取

ServletContext

可以有ServletConfig对象获取。

该对象代表当前Web应用,可以获取当前Web应用的方方面面的信息。

获取Web应用上下文参数。

public String getInitParameter(String name); public Enumeration<String> getInitParameterNames();

获取Web应用某一文件的绝对路径。

public String getRealPath(String path);

获取Web应用上下文路径(应用名)。

public String getContextPath();

获取Web应用某一文件对应的输入流。

public InputStream getResourceAsStream(String path); 和attribute相关的几个方法

JSP的九个隐含对象

request、response、pageContext、session、application、config、out、page、exception

exception在申明了page指令的isErrorPage=”true”时才可以使用。 如:<%@ page isErrorPage="true"%>

请求重定向和请求转发

请求转发 调用 HttpServletRequest 的 getRequestDispatcher() 方法获取RequestDispatcher对象。调用RequestDispatcher的forward()方法进行转发如:request.getRequestDispatcher("/hello").forward(request,response);请求重定向 resp.sendRedirect("/hello");区别(本质:请求转发只发出了一次请求,而重定向则发出了两次) 转发地址栏是初次发出请求的地址,而重定向为最后响应的那个地址。转发在最终的Servlet中,request对象和中转的那个request对象是同一个对象,而重定向则是两个不同的request。转发只能转发给当前Web的资源,而重定向可以重定向到任何资源。
转载请注明原文地址: https://www.6miu.com/read-54055.html

最新回复(0)