页面跳转在之前有提到过,web中页面跳转是经常发生的
页面跳转 分为服务端跳转和客户端跳转。
比如页面登录 会跳转 失败或者成功
准备两个html文件 success.html和fail.html
之前的示例统一都是服务端跳转 即在.xml文件中的映射路径
分为客户端跳转和服务端跳转出现的不同是 ——地址栏的路径不一样
主要与两个对象所调用的方法有关:
if("yyp".equals(name)&&"qwer".equals(password))
{
request.getRequestDispatcher("success.html").forward(request,response);
}
else {
response.setContentType("text/html; charset=UTF-8");
response.sendRedirect("fail.html");
}
两种跳转在地址栏最终显示跳转路径时一开始会跳转到.xml文件中的映射路径 服务器调用loginservlet 再发送指令:
请求对象(服务器端)——request 调用getRequestDispatcher获取success.html 的内容服务器内部访问 把该文件内容发送给浏览器 因此地址栏路径依然为.xml文件的映射路径
响应对象(客户端)——response调用sendRedirect,是在服务器端发送指令让浏览器访问fail.html的内容 所以会跳转到fail.html
servlet自启动:
在需要自启动的servlet中添加——
<load-on-startup>10</load-on-startup>
不用添加到映射里 —— <servlet - mapping>
取值范围是1-99
即表明该Servlet会随着Tomcat的启动而初始化。
同时,为HelloServlet提供一个init(ServletConfig) 方法,验证自启动
验证方法一般是在方法中加入打印语句 打印了就说明被调用执行了
<load-on-startup>10</load-on-startup>
中的10表示启动顺序
如果有多个Servlet都配置了自动启动,数字越小,启动的优先级越高
public void init(ServletConfig config)
{
System.out.println("initial this configs");
}//这一段为一般的实例方法即可
public void doGet(HttpServletRequest request, HttpServletResponse response){
//
}
在tomcat完全启动之前,会打印initial this configs