前面已经配置好环境变脸了,接下来实现一个简单的登陆功能
简单的讲,
1.用户访问jsp页面,在jsp页面输入信息
2.jsp将用户输入的信息传递给servlet
3.servlet控制页面跳转
是不是很简单?
同样的方法,在web目录下再创建一个success.jsp,faild.jsp
此时,你的项目应该是这样的。。。
我们发现以上代码中有这么两个地方 1. <form action="doLogin" method="post"> 这里action的值是指表单提交的地址,也就是说这个表单会提交到名为doLogin的servlet中进行处理
method=”post”表示表单的提交方式为post,对于method属性,它一般有两个值,get和post,在这里先不说get和post的区别了,在写servlet时会感受到一点点这两种方式的区别
2. <input name="us" type="text" /> 这里有一个name属性,我们知道servlet接收表单信息并进行处理,为了能区分不通过输入(比如这里就有两个输入,分别是用户名和密码),于是就添加了name这个属性,我们在servlet中可以用这种方式接收前台的数据:
String username=request.getParameter("us"); String password=request.getParameter("ps"); //us,ps分别是用户名,密码这两个输入框中输入的数据右键源包—->新建—–>servlet 在这里要填写servlet的相关信息 1.类名:doLogin 2.包:com.servlet
然后点下一步,选择将信息添加到部署描述符(web.xml),点击完成
(注意了,这一项一定要选,后面会讲到web.xml的意义)
在点击完成之后,你就创建了一个servlet,我们都知道,servlet其实就是一个java类, 你会发现你的源包目录下多了com.servlet包,在这个包下有一个doLogin.java,此时你的工程目录应该是这样的
首先,我们打开doLogin.java
我们会发现doLogin.java中只有三个函数,分别是
protected void processRequest(HttpServletRequest request, HttpServletResponse response){ } protected void doGet(HttpServletRequest request, HttpServletResponse response) protected void doPost(HttpServletRequest request, HttpServletResponse response)还记得login.jsp中的表单吗? 我们时这样写的
<form action="doLogin" method="post"> 我们选择的方式是post,所以我们可以编辑doPost函数(当然也可以编辑processRequest函数)(doGet函数只能处理get请求,doPost函数只能处理post请求,而progressRequest函数可以同时处理get和post请求)
我们在doLogin.java中实现这么几个功能 1. 接收login.jsp中传递的数据(用户名,密码) 2. 判断用户名,密码是否正确 3. 页面跳转,用户名密码正确,跳转到success.jsp,错误则跳转到faild.jsp
在明确了以下几点之后,我们开始写代码
接下来编辑doPost函数
protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); //设置编码,不加容易乱码 String username=request.getParameter("us"); //获取用户名 String password=request.getParameter("ps"); //获取密码 if(username==null|password==null){ response.sendRedirect("fail.jsp"); //页面跳转 return; } if(username.equals("1")&&password.equals("1")){ //注意,这里要用equals而不是用等于 response.sendRedirect("success.jsp"); } else{ response.sendRedirect("fail.jsp"); } processRequest(request, response); }Ctrl+s保存一下 接下来就可以运行了, 右键login.jsp—>运行文件
任务完成 你可以去下载整个项目文件: 下载地址