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

       今天再一次开品尝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的运行机制,一幅图胜过千言万语。

 

 

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值