servlet实现用户登录小程序
程序员文章站
2024-02-18 09:09:58
当时在上java课的时候,老师就给我们讲过sun公司的servlet是一个典型的java语言的应用。现在在上网络编程课的时候,终于接触到了这种服务器小程序。
现在我们就...
当时在上java课的时候,老师就给我们讲过sun公司的servlet是一个典型的java语言的应用。现在在上网络编程课的时候,终于接触到了这种服务器小程序。
现在我们就用servlet来简单实现一个用户登录的小程序。
首先,servlet也是一个java类,新建一个java类,它直接继承了httpservlet类:
@webservlet(name = "servlettest") public class servlettest extends httpservlet { @override public void init(servletconfig config) throws servletexception { super.init(config); } @override public void init() throws servletexception { super.init(); } @override public void service(servletrequest req, servletresponse res) throws servletexception, ioexception { //super.service(req, res); string username=req.getparameter("username"); string password=req.getparameter("password"); system.out.println(username); system.out.println(password); } @override public void destroy() { super.destroy(); } @override protected void dopost(httpservletrequest req, httpservletresponse resp) throws servletexception, ioexception { super.dopost(req, resp); } @override protected void doget(httpservletrequest req, httpservletresponse resp) throws servletexception, ioexception { super.doget(req, resp); } }
servlet作为一个程序,也会有它的生命周期,它的生命周期从init()开始,有两种init(),一个是有参数的,另一个是无参数的。其中有参数的init方法会显示地调用无参的init()方法。从init(servletconfi,g config)的源代码中我们也可以看出这一点。init()是在被servlet被访问时被调用
当servlet接受用户提交的表单的时候会调用service方法。
然后编写login.jsp:
<form action="<%= request.getcontextpath() %>/loginservlet" method="post"> 用户名:<input type="text" name="username"><br/> 密码:<input type="password" name="password"><br/> <input type="submit" value="登录"> <input type="reset" value="重置"> </form>
注意action中要使用request.getcontextpath获取到上下文路径。
loginservlet需要在web.xml中进行配置
<servlet> <servlet-name>loginservlet</servlet-name> <servlet-class>com.myservlet.servlettest</servlet-class> </servlet> <servlet-mapping> <servlet-name>loginservlet</servlet-name> <url-pattern>/loginservlet</url-pattern> </servlet-mapping>
servlet-name随便起,servlet-class表示servlet的类名。
url-pattern是action中引用的名字,这样它们就关联在一起了。
最后就可以看见表单中的username和password被打印出来了。
最后其它的方法可以根据需要在官方文档中查找。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。