实现servlet登陆

在java web开发中,servlet是服务器端的java应用程序,可以接收客户端请求并作出相应的回应。

 

要建立servlet应用程序,首先要安装tomcat,tomcat的安装网上教程很多,大家可以自行搜索,这里推荐一篇Tomcat7的安装教程

 

tomcat安装成功后,在其安装路径下,有webapps文件夹,专门用来发布web项目,每个项目需要在webapps下单独建立一个文件夹,我们下载建立一个test_servlet文件夹,在该文件夹下建立一个WEB-INF文件夹,在WEB-INF下建立classes和lib文件夹,并添加一个web.xml文件。

 

目录建立好了,接下来首先建立login.html文件,该文件实现了简单的登录功能

 

[html][/html] view plaincopyprint?

  1. <html>
  2.     <head>
  3.         <title>实现servlet登录响应</title>
  4.     </head>
  5.     <body>
  6.         <!–action为html表单要提交到的服务器端程序地址,login为web.xml配置的servlet的url-pattern,是相对url,也可以写成绝对url:http://127.0.0.1:8080/test_servlet/login–>
  7.         <form action=”login”>
  8.             <div align=”center” >
  9.             用户名:<input type=”text” name=”username” /><br />
  10.             密   码:<input type=”password” name=”userpwd” /><br />
  11.             <input type=”submit” name=”btnLogin” value=”登录” />
  12.             <input type=”reset” name=”btnReset” value=”重置” />
  13.             </div>
  14.         </form>
  15.     </body>
  16. </html>

 

写好后把html文件拷贝到test_servlet文件夹下,然后建立servlet,servlet是一个java类,因此我们建立名叫LoginServlet.java的类,代码如下:

 

[java][/java] view plaincopyprint?

  1. import java.io.*;
  2. import javax.servlet.*;
  3. import javax.servlet.http.*;
  4. //该类要实现HttpServlet接口,并添加上面的引用
  5. public class LoginServlet extends HttpServlet{
  6.     public void doGet(HttpServletRequest request,
  7.                      HttpServletResponse response)
  8.               throws ServletException,
  9.                      IOException{
  10.         //获得客户端表单中的用户名和密码,根据表单控件的name属性获取
  11.         String username=request.getParameter(“username”);
  12.         String password=request.getParameter(“userpwd”);
  13.         System.out.println(“用户名是”+username);
  14.         System.out.println(“密码是”+password);
  15.         //打印到html页,并返回客户端
  16.         response.setContentType(“text/html”);
  17.         response.getWriter().println(“Login Success!!!”);
  18.     }
  19. }

建立好该类后,进行编译,将编译后的文件放到test_servlet文件加下的classes文件夹中。

 

 

至此,代码写的差不多了。我们写的html文件,作为客户端,发出请求后,怎么访问tomcat服务器上的servlet程序呢?是通过web.xml映射访问的,看下web.xml文件中的代码

 

[html][/html] view plaincopyprint?

  1. <?xml version=”1.0″ encoding=”ISO-8859-1″?>
  2. <web-app xmlns=”http://java.sun.com/xml/ns/javaee”
  3.   xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
  4.   xsi:schemaLocation=”http://java.sun.com/xml/ns/javaee
  5.                       http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd”
  6.   version=”3.0″>
  7.     <!–该节点为servlet类添加一个name–>
  8.     <servlet>
  9.         <servlet-name>Myservlet</servlet-name>
  10.         <servlet-class>LoginServlet</servlet-class>
  11.     </servlet>
  12.     <!–该节点把name和servlet的虚拟路径做对应,客户端表单的action路径为url-pattern对应的路径–>
  13.     <servlet-mapping>
  14.         <servlet-name>Myservlet</servlet-name>
  15.         <!–servlet的虚拟路径,实现了和servlet类文件的映射,实现了java web的目录安全,因为客户端不直接访问类文件,而是访问虚拟路径–>
  16.         <url-pattern>/login</url-pattern>
  17.     </servlet-mapping>
  18. </web-app>

 

 
到此,可以启动tomcat了,运行tomcat目录里的bin文件夹下的startup.bat文件,然后输入http://127.0.0.1:8080/test_servlet/login.html(注意url区分大小写,如果是大小写有误会出现404),就可以访问页面了,填写用户名和密码后,服务器会返回LoginSuccess!

标签