DRP项目(五)----servlet运行原理

来源:互联网 发布:安徽师范大学网络教育 编辑:程序博客网 时间:2024/05/17 01:11

       今天再一次开品尝servlet这顿大餐了,第一品尝是在李宁项目中(说实在的没搞明白就完了,应该说自己就没有做,这一点自己真的很欠缺,自己应该好好弥补一下),这次品尝是在DRP中,这次的感觉和上一次有很大的不同,上一次的感觉一头雾水,有很多细节的地方不是很明白,这次在DRP中整明白了。

一:示例准备           

        首先声明一下,我的tomcat装在d:盘(D:\tomcat7.0.22)这是路径       

        在其目录webapps目录下建立如下一个小工程,在test_servlet文件夹下添加一个login.html网页和在WEB-INF目录下添加一个web.xml配置文件,在classes中加入一个LoginServlet.class类(随便建一个LoginServlet.java然后用javac进行编译成LoginServlet.class,将文件拷过去,至于如何编译上网搜一下就行了,这就不细讲了)

       

 

 二:servlet运行原理图

      

三:servlet运行示例程序      

           下面是以我的小工程为实例:          

            1.test_servlet中代码示例:

         

<html><head><title>登录</title></head><body><form action ="loginServlet">用户:<input type="text" name="username"><br>密码:<input type="password" name ="password"><br><input type ="submit" value="登录"></form></body></html>

            代码分析:action就是直接转到web.xml<url-pattern>中,action后面还缺省一个method(doGet和doPost对应于这两种传参方式),一般缺省情况下是doGet,也可以用方法doPost。

           doGet:GET调用用于获取服务器信息,并将其做为响应返回给客户端。当经由Web浏览器或通过HTML、JSP直接访问Servlet的URL时,一般用GET调用。

           doPost:它用于客户端把数据传送到服务器端,也会有副作用。但好处是可以隐藏传送给服务器的任何数据。Post适合发送大量的数据。


            2.web.xml中代码:

<?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">   <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>

       <servlet>中<servlet-name>你给你的servlet命的名和<servlet-mapping>中<servlet-name>保持一致就行

       <servlet>中<servlet-class>就是你生成的class,<servlet-mapping>中的<url-pattern>指向的相对路径

       3.LoginServlet.java代码

import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class LoginServlet extends HttpServlet{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);      response.setContentType("text/html");   response.getWriter().println("登录成功");}}

 
         总结:经过这个例子的历练我更深刻理解了servlet的运行机制,一幅图胜过千言万语。

 

 

原创粉丝点击