学习笔记是参考的how2j
Servlet获取参数
通过登录界面,演示servlet如何获取从浏览器提交的账号和密码
新建一个login.html文档
在文件夹web处右键-new-File-输入login.html
然后在文件login.html中写程序,完成一个简单的登录功能
登录界面账户:
密码:
新建一个类LoginServlet
新建一个类,注意删除包名,如果不删除包名,后面在web.xml文件中需要说明
在文件中写如下程序
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class LoginServlet extends HttpServlet{
//因为浏览器中的form的method是post,所以LoginServlet需要提供一个doPost方法//doPost,p是大写,eclipse中使用alt+/生成的方法是dopost,检查了很久protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
//在doPost方法中,通过request.getParameter取出对应的账号和密码String name = request.getParameter("name");
String password = request.getParameter("password");
//控制台输出账户名和密码System.out.println("name"+name);
System.out.println("password"+password);
}
}
web.xml中配置,将映射LoginServlet到路径login
打开文件夹WEB-INF下的web.xml文件,添加映射到文件中
LoginServlet
LoginServlet
LoginServlet
/login
测试
保存上述三个文件,重启tomcat,即双击D:\tomcat_80\bin\startup.bat
然后浏览器中输入127.0.0.1/login.html,可以看到打开了如下页面
点击登录,可以在tomcat中看到用户名和密码
这个时候我们还没有在浏览器上看到这个提交的数据,浏览器上要看到tomcat的反馈数据,需要通过【响应】来实现,下一节说明。
Servlet返回响应
将上文LoginServlet类中的程序改成下面这样。
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class LoginServlet extends HttpServlet{
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
String name = request.getParameter("name");
String password = request.getParameter("password");
//定义要输出的字符串htmlString html = null;
//如果账户名为admin且密码为123456则html为"
html = "
}
else {
html = "
}
//通过response.getWriter().println() 方式发送出去PrintWriter pw = response.getWriter();
pw.println(html);
//response.getWriter().println();//这种方式也可以}
}
然后重启tomcat,浏览器输入127.0.0.1/login.html,输入账户(admin)和密码(123456),登录,可以看到登录成功。可以尝试输错账户或密码,可以看到fail。