核心提示:了解通过Servlet验证登录信息并录入登录信息的操作首先创建两个ServletLongServlet与ZhuCeServletpackage com.yy.servlet.web.servlet;i...
了解通过Servlet验证登录信息并录入登录信息的操作
首先创建两个Servlet——LongServlet与ZhuCeServlet
package com.yy.servlet.web.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.yy.servlet.dao.UserDao;
import com.yy.servlet.po.User;
public class LongServlet extends HttpServlet{
<span style="white-space:pre"> </span>@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);//获取的doGet跳转到doPost方法中运行,因为doPost方法更安全
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
String username = request.getParameter("username");//获取页面的username
String password = request.getParameter("password");//获取页面的password
response.setCharacterEncoding("utf-8");//配置编码器
PrintWriter out = response.getWriter();//配置打印设施
out.print("username"+username);//在网页打印<span style="font-family: 'Microsoft Yahei', 'Helvetica Neue', Helvetica, Arial, sans-serif;">username</span>
out.print("<br/>");
out.print("password"+password);<span style="font-family: 'Microsoft Yahei', 'Helvetica Neue', Helvetica, Arial, sans-serif;">//在网页打印password</span>
UserDao userdao =UserDao.getInstance();//实例化UserDao类并获取getInstance()方法
Map<String, String> map = new HashMap<String, String>();//准备好存放数据的Map
map.put("username",username);//获取查询到的username
map.put("password",password);//获取查询到的password
User user =userdao.getMap(map);//把map存储的数据付给User
if(user!=null){//如果user不为空表示数据库中有对应数据则登录成功
out.print("登录成功");
}else{//user为空打印注册页面
out.print("登录失败,请注册");
out.print(" <form method='get' action='ZhuCeServlet'><br>");//点击注册跳转到<span style="font-family: 'Microsoft Yahei', 'Helvetica Neue', Helvetica, Arial, sans-serif;">ZhuCeServlet中去</span>
out.print(" 用户名:<input type='text' name='username'/><br>");
out.print("密码:<input type='password' name='password'><br>");
out.print("<input type='submit' value='注册'>");
out.print("</form>");
}
out.flush();//刷新页面
out.close();//关闭
}
}
表
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;
import com.yy.servlet.dao.UserDao;
import com.yy.servlet.po.User;
public class ZhuCeServlet extends HttpServlet{
@Override
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
String username = request.getParameter("username");
String password= request.getParameter("password");
PrintWriter out =response.getWriter();
User user = UserDao.getInstance().getUserByusername(username);//查询数据库内容
if(user!=null){//如果user不为空表示数据库有相应信息注册失败,在页面打印注册表
out.print("用户名已存在,请重新输入<br>");
out.print(" <form method='get' action='ZhuCeServlet'><br>");
out.print(" 用户名:<input type='text' name='username'/><br>");
out.print("密码:<input type='password' name='password'><br>");
out.print("<input type='submit' value='注册'>");
out.print("</form>");
}else{
User user2 = new User();
user2.setUsername(username);
user2.setPassword(password);//把注册信息传输到User中
boolean flag =UserDao.getInstance().saveUser2(user2);//通过JDBC添加注册内容
if(flag){
out.print("注册成功");
}else{
out.print("注册失败");//注册失败,很有可能数据库出错
}
}
}
然后通过WebRoot中WEB-INF下的web.xml配置相关内容
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="https://java.sun.com/xml/ns/javaee"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://java.sun.com/xml/ns/javaee
https://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<!-- 配置LongServlet -->
<servlet>
<servlet-name>LongServlet</servlet-name>
<servlet-class>com.yy.servlet.web.servlet.LongServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LongServlet</servlet-name>
<url-pattern>/LongServlet</url-pattern>
</servlet-mapping>
<!-- 配置LongServlet -->
<servlet>
<servlet-name>ZhuCeServlet</servlet-name>
<servlet-class>com.yy.servlet.web.servlet.ZhuCeServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ZhuCeServlet</servlet-name>
<url-pattern>/ZhuCeServlet</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>MyJsp.jsp</welcome-file>//首页的JSP
</welcome-file-list>
</web-app>
别忘了在JSP文件中编写首页表格
<h1>通过Servlet验证登录信息并录入登录信息</h1>
<form method="get" action="LongServlet">//action表示关联到LongServlet类
用户名:<input type="text" name="username"/><br>
密码:<input type="password" name="password"><br>
<input type="submit" value="登录">
</form>
</body>
通过Servlet验证登录信息并录入登录信息的相关内容告一段落,但是Servlet的学习并没有结束


