【Java】Servlet调用流程

来源:互联网 发布:matlab转c语言工具 编辑:程序博客网 时间:2024/05/24 01:55

    最近在学习一个DRP的项目,初次学习Servlet,老师讲解的很详细,这篇博客首先对Servlet进行一下简单的介绍,然后简单总结一下Servlet的调用流程。


    Servlet简单理解:


    Servlet是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。


    以登录为例介绍数据传送流程:



其次来介绍一下Tomcat目录结构:


bin文件: 

存放各种平台下启动和关闭Tomcat的脚本文件 。

startup-bat.是 windowsF 启 动 tomcat的文件,

shutdown.bat 是关tomcat的文件 。

common : 

在 common目录下的lib目录,存放 Tomcat服务器和所有 web 应 用 都 能 访 问 的 JAR 。

shared : 

在 shared目录下lib目录,存放所有 web应用能访问的 ,但 Tomcat不能访问JAR

server :

 在 server/webapps 目录中,存放 Tomcat自带的两个 APP-admin 和manager应用 , 来 管 理 Tomcat-web服务用的 。

work :

 Tomcat把各种 由 jsp 生成的servlet文件放在这个目录下

temp: 

临时活页夹,Tomcati 行时候存放临时文件用的 。

logs: 

存放 Tomcat 的日志文件

webapps: 

web 应用的发布目录,把java开发的web立点或war文件放入这个目录下就可以通过tomcat服务器访问了。

conf:

 Tomcat 的各种配置文件,最重要的是server.xml



环境配置:


lib\servlet-api.jar包配置到classpath变量。同时配置一下JAVA_HOME变量,可以在tomcat的批处理命令startup.bat中进行配置,set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_43

        然后把这个java文件编译成.class文件,放到classes文件夹中。



servlet代码:


<span style="font-family:KaiTi_GB2312;font-size:18px;">//引入java的包。   import javax.servlet.http.*;   import java.io.*;   import javax.servlet.*;   //第一个Servlet程序。   public class LoginServlet extends HttpServlet   {       //指定调用哪个servlet。       //get提交和post提交两种方式。       public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException       {           //取得客户端的数据。          String username = request.getParameter("username");           String password = request.getParameter("password");                      System.out.println("username" + username);           System.out.println("password" + password);           //向浏览器上写数据。可以有流。字符流。           //setContext设置响应的内容类型。设置为html类型或者中文。           response.setContentType("text/html;charset=GB18030");           //response.getWriter().println("Login Success!!!");           //response.getWriter().println("登录成功!!!");           response.getWriter().println("<html>");                      response.getWriter().println("<head>");           response.getWriter().println("<title>登录信息</title>");                      response.getWriter().println("</head>");           response.getWriter().println("<body>");           response.getWriter().println("欢迎【" + username + "】登录成功!!!");                      response.getWriter().println("</body>");           response.getWriter().println("</html>");                  }       //采用post的提交方式。       public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException       {           doGet(request,response);       }  }</span>

html代码:

<span style="font-family:KaiTi_GB2312;font-size:18px;"><html>      <head>          <title>登录</title>      </head>      <body>          <!--这是绝对路径-->          <!--相对路径写法:action="LoginServlet"-->          <form action="http://127.0.0.1:8080/test_servlet/LoginServlet">              用户:<input type="text" name="username"><br>              密码:<input type="password" name="password"><br>              <input type="submit" value="登录">          </form>      </body>  </html></span>


Web.xml:

<span style="font-family:KaiTi_GB2312;font-size:18px;"><?xml version="1.0" encoding="ISO-8859-1"?>    <web-app xmlns="http://java.sun.com/xml/ns/javaee"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee                        http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"    version="3.0"    metadata-complete="true">                <servlet>          <servlet-name>MyServlet</servlet-name>          <servlet-class>LoginServlet</servlet-class>      </servlet>            <servlet-mapping>          <servlet-name>MyServlet</servlet-name>          <url-pattern>/LoginServlet</url-pattern>      </servlet-mapping>  </web-app> </span>

启动Tomat就可以执行成功了。


servlet的调用过程:



写在后面:


    Servlet的知识刚刚开始学习,对于这些还是很生疏,不过这都是基础,慢慢积累,下一篇博客总结Servlet的生命周期。

0 0
原创粉丝点击