核心提示:了解通过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的学习并没有结束