Tomcat服务器开发教程_响应动态资源

Tomcat服务器开发教程_响应动态资源

更新时间:2017年04月07日

  • 视频类型:java
  • 适合对象:Java学员、Java爱好者、开发人员
  • qq号:2158476996
一键免费下载

下载介绍

更多>>
Tomcat服务器开发教程_响应动态资源

 角色:webapp 开发人员:

 A、新建软件包 org.bjpowernode.oa.servlet

 B、该软件包中新建 LoginServlet.java,编写 LoginServlet 处理用户的登录请求

public void service(){

System.out.println(“正在身份认证,请稍等… …”);

}

 角色:web 服务器开发人员

接下来我们的开发角色再次转变为 WEB 服务器开发人员,开发服务器端程序调用 LoginServlet 的service 方法。大家设想一下,将来 WebApp 中不仅有一个 LoginServlet,还会有其它的小 Java 程序,每一个小 Java 程序都对应处理某一个业务,那么对于我们服务器的开发人员来说怎么确定调用哪个Servlet 呢?就像上一个版本中/oa/index.html 是服务器中的一个资源,像 html 这样的资源还有很多,服务器怎么知道浏览器客户端要访问的是哪个资源呢?当然是通过用户的请求路 径了。其实LoginServlet 也是服务器端的一种资源,只不过这种资源不是 html,而是一段 Java 程序,所以服务器也可以先截获用户的请求路径,然后通过请求 URI 决定调用哪个 Servlet。因此可以说, “请求 URI”和对应要执行的 “Servlet 程序” 之间有一种绑定关系。 那么接下来就让我们编写 Web 服务器端的程序,截获请求 URI,根据请求 URI 来对应调用 Servlet。 (HandlerRequest) 

 A、在 HandlerRequest 截获请求 URI,根据请求 URI 来对应调用 Servlet。

 B、紧接上一版本,判断完是否为静态资源,如不是静态页面那肯定是动态资源

if(requestURI.endWith(“ .html”) || requestURI.endWith(“ .htm”)){

//处理静态资源

}else{

//处理动态资源

Strring servletPath = requestURI;

if(servletPath.contains(“?”)){

servletPath = servletPath.split(“[?]”).[0];

}

if(“/oa/login” .equals(servletPath)){

LoginServlet loginServlet = new LoginServlet();

loginServlet.service();

}

}

a、  动态请求分两种情况

requestURI: /oa/login?username=zhangsan&password=123

if(servletPath.contains(“?”))

servletPath = servletPath.split("[?]")[0];

requestURI: /oa/login

if("/oa/login".equals(servletPath)) 


loginServlet.service()

(4)启动 httpserver,打开浏览器,输入 URL,发送请求