日期:2014-05-18  浏览次数:20683 次

J2EE学习从菜鸟变大鸟之九 深入浅出理解 Servlet-----实例解析

    关于Servlet的基础内容在前面已经和大家分享过了,参考J2EE学习从菜鸟变大鸟之七 Servlet,现在结合到DRP中学习,深刻的体会Servlet起到了枢纽中转的作用,控制逻辑(到MVC中更像是控制器),特别类似做BS项目时后台asp.net中的一般处理程序:前台html获取的数据把数据--->一般处理程序-->经过一般处理程序传递过来到数据库中查询---一>般处理程序--->界面,浏览器渲染后显示。

    Servlet是服务器端的小程序,在BS架构下,用于处理客户端请求的响应的处理,期特点单实例,多线程的方式运行,servlet在容器中运行,其生命周期由tomcat来管理,线程是不安全的,在使用它时需要注意的是慎用成员变量(不安全的).


Servlet是在服务器端上(我现在使用的是Tomcat)


前端的Html

<html>
	<head>
		<title>登录</title>
	</head>
	<body>
		<!--
		<form action="http://127.0.0.1:8080/test_servlet/loginServlet">
		-->
		<form action="exam/loginServlet" method="post">
			用户:<input type="text" name="username"><br>
			密码:<input type="password" name="password"><br>
			<input type="submit" value="登录">
		</form>
	</body>
		
</html>

Servlet:


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;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>");
    }                 	
  
	public void doPost(HttpServletRequest request,
                     HttpServletResponse response)
              throws ServletException,
                     IOException {
      doGet(request, response);               	
	}                     
}