1、该servlet代码如下
package com.yqq.loginservice;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.yqq.loginservice.DButis.TestDbUtils;
public class LoginServlet extends HttpServlet {
private TestDbUtils mTestDbUtils;
private String u;
private String p;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
System.out.println("doGet");
}
/**
* 查询数据库检查是否有该参数存在
* @param userName用户名
* @param password密码
* @return
*/
private boolean checkLogin(String userName,String password){
List<Map<String,String>> results=new ArrayList<Map<String,String>>();
if(u.equals(userName)&&p.equals(password)){
return true;
}
//获得数据库操作实例
mTestDbUtils=TestDbUtils.getSington();
results=mTestDbUtils.getCheckUserInfo();
System.out.println(results.toString());
for(Map<String,String> map:results){
if(map.get("userName").equals(userName)&&map.get("passWord").equals(password)){
return true;
}
}
return false;
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
System.out.println("doPost");
doGet(req,resp);
}
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
super.service(req, resp);
System.out.println("service");
//设置编码
req.setCharacterEncoding("UTF-8");
resp.setContentType("text/html;charset=utf-8");
resp.setCharacterEncoding("utf-8");
PrintWriter out=resp.getWriter();
//获得客户端提交的参数
String uesrName=req.getParameter("userName");
String password=req.getParameter("passWord");
System.out.print("提交的参数:"+uesrName+password);
if(checkLogin(uesrName, password)){
out.write("welldone");
System.out.print("返回的数据:"+"welldone"+"登录成功");
}else{
out.write("登录失败该用户不存在!请先注册!");
System.out.print("返回的数据:"+"登录失败该用户不存在!请先注册!");
}
out.flush();
}
@Override
public void destroy() {
super.destroy();
}
@Override
public void init(ServletConfig config) throws ServletException {
// TODO Auto-generated method stub
super.init(config);
System.out.println("init");
u=config.getInitParameter("name");
p=config.getInitParameter("password");
}
}
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name></display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>com.yqq.loginservice.LoginServlet</servlet-class>
<init-param>
<param-name>name</param-name>
<param-value>test</param-value>
</init-param>
<init-param>
<param-name>password</param-name>
<param-value>888888</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/LoginServlet</url-pattern>
</servlet-mapping>
</web-app>
部署成功后第一次访问结果如下:
然后的访问就是如下所示了:
所以service方法每次都执行。但不写do方法,程序运行不了。