您的位置:首页 > 运维架构 > Tomcat

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

2012-01-07 23:28 441 查看
       今天再一次开品尝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的运行机制,一幅图胜过千言万语。

 
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息