JavaWeb如何使用mvc模式实现登录功能(javaweb,mvc,开发技术)

时间:2024-05-09 07:12:33 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

部署项目、环境搭建

JavaWeb如何使用mvc模式实现登录功能

JavaWeb如何使用mvc模式实现登录功能

详细内容

1.导包

JavaWeb如何使用mvc模式实现登录功能

2.web >> index.jsp web >> login.jsp web >>success.jsp

JavaWeb如何使用mvc模式实现登录功能

1) web >> index.jsp

<%@pagecontentType="text/html;charset=UTF-8"language="java"%><html><head><title>$Title$</title></head><body><ahref="login.jsp">登录</a></body></html>

2) web >> login.jsp

<%@pagecontentType="text/html;charset=UTF-8"language="java"%><htmllang="en"><head><metacharset="UTF-8"><title>登录</title><style>#msg{color:red;}</style></head><body><formaction="user"method="post">账号:<inputtype="text"name="userName"><spanid="msg"><%=request.getAttribute("msg")%></span>密码:<inputtype="text"name="passWord"><inputtype="hidden"name="method"value="login"><inputtype="submit"value="登录"></form></body></html>

3) web >>success.jsp

<%@pagecontentType="text/html;charset=UTF-8"language="java"%><%@pageimport="constant.Con"%><html><head><title>用户中心</title></head><body><%=request.getSession().getAttribute(Con.USER)%><h2>欢迎您</h2><ahref="login.html">返回重新登录</a></body></html>

3.constant >> Con

JavaWeb如何使用mvc模式实现登录功能

packageconstant;importjava.io.Serializable;publicclassConimplementsSerializable{//session中保存用户登录信息publicstaticfinalStringUSER="user";}

entity >> User

JavaWeb如何使用mvc模式实现登录功能

packageentity;importjava.io.Serializable;publicclassUserimplementsSerializable{privateintid;privateStringuserName;privateStringpassWord;publicUser(intid,StringuserName,StringpassWord){this.id=id;this.userName=userName;this.passWord=passWord;}publicUser(){}publicintgetId(){returnid;}publicvoidsetId(intid){this.id=id;}publicStringgetUserName(){returnuserName;}publicvoidsetUserName(StringuserName){this.userName=userName;}publicStringgetPassWord(){returnpassWord;}publicvoidsetPassWord(StringpassWord){this.passWord=passWord;}}

4.resources >> prop.properties

JavaWeb如何使用mvc模式实现登录功能

driverClassName=com.mysql.cj.jdbc.DriverurlName=jdbc:mysql://localhost:3306/myjdbc?characterEncoding=utf8&useSSL=false&serverTimezone=UTCuserName=rootpasswordName=root

JavaWeb如何使用mvc模式实现登录功能

5.utils >> JDBCUtils

JavaWeb如何使用mvc模式实现登录功能

packageutils;importjava.io.IOException;importjava.io.InputStream;importjava.sql.*;importjava.util.Properties;/*JDBC工具类*/publicclassJDBCUtils{//声明驱动的路径staticStringdriverClass;staticStringurl;staticStringuser;staticStringpassword;/*静态代码块只会在加载class文件的时候执行一次,将注册驱动的代码由静态代码块来实现*/static{//创建属性集对象Propertiesprop=newProperties();//将文件中的数据读取到属性集中try{//prop.propertiesInputStreamis=JDBCUtils.class.getClassLoader().getResourceAsStream("prop.properties");prop.load(is);}catch(IOExceptione){e.printStackTrace();}//获取key对应的valuedriverClass=prop.getProperty("driverClassName");url=prop.getProperty("urlName");user=prop.getProperty("userName");password=prop.getProperty("passwordName");try{//加载驱动Class.forName(driverClass);}catch(ClassNotFoundExceptione){e.printStackTrace();}}/*将获取资源的方法进行封装:Connection连接接口对象*/publicstaticConnectiongetConnection()throwsSQLException,ClassNotFoundException{//获取连接Connectionconnection=DriverManager.getConnection(url,user,password);returnconnection;}/*封装方法,用于释放资源*/publicstaticvoidclose(Connectionconnection,Statementstatement,ResultSetresultSet){try{if(resultSet!=null){resultSet.close();}}catch(SQLExceptione){e.printStackTrace();}//调用已经实现功能的方法直接使用close(connection,statement);}/*重载一个释放资源的代码,用来释放两个资源*/publicstaticvoidclose(Connectionconnection,Statementstatement){try{if(statement!=null){statement.close();}}catch(SQLExceptione){e.printStackTrace();}try{if(connection!=null){connection.close();}}catch(SQLExceptione){e.printStackTrace();}}}

6.servlet >> UserServlet

JavaWeb如何使用mvc模式实现登录功能

packageservlet;importconstant.Con;importservice.UserService;importservice.impl.UserServiceImpl;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjava.io.IOException;@WebServlet(name="user",urlPatterns="/user")publicclassUserServletextendsHttpServlet{privateUserServiceuserService=newUserServiceImpl();@Overrideprotectedvoidservice(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{//1.设置请求字符集为utf-8req.setCharacterEncoding("utf-8");//2.获取请求参数method,根据值调用不同方法处理业务Stringmethod=req.getParameter("method");if(method.equals("login")){this.login(req,resp);}}//登录方法privatevoidlogin(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{//1.获取账号和密码StringuserName=req.getParameter("userName");StringpassWord=req.getParameter("passWord");//2.调用service的方法处理登录booleanresult=userService.checkUser(userName,passWord);if(result){//true表示登录成功//转发跳转成功页面//req.getRequestDispatcher("/success.jsp").forward(req,resp);//将用户信息保存在session域对象中req.getSession().setAttribute(Con.USER,userName);//重定向跳转成功页面resp.sendRedirect(req.getContextPath()+"/success.jsp");}else{//false登录失败,返回登录页面req.setAttribute("msg","账号密码不匹配");req.getRequestDispatcher("/login.jsp").forward(req,resp);}}}

7.service >> UserServiceservice >> impl >> UserServiceImpl

JavaWeb如何使用mvc模式实现登录功能

packageservice;publicinterfaceUserService{//判断登录成功与否booleancheckUser(StringuserName,StringpassWord);}
packageservice.impl;importdao.UserDao;importdao.impl.UserDaoImpl;importentity.User;importservice.UserService;importutils.JDBCUtils;importjava.sql.Connection;importjava.util.List;publicclassUserServiceImplimplementsUserService{privateUserDaouserDao=newUserDaoImpl();@OverridepublicbooleancheckUser(StringuserName,StringpassWord){//连接对象Connectionconnection=null;try{//1.获取数据库连接connection=JDBCUtils.getConnection();//2.调用dao方法查询数据List<User>users=userDao.findUserByUserNameAndPassWord(connection,userName,passWord);//3.根据查询结果返回成功失败标志if(users.size()>0){returntrue;}else{returnfalse;}}catch(Exceptione){e.printStackTrace();returnfalse;}finally{JDBCUtils.close(connection,null);}}}

8.dao >> UserDao dao >> impl >> UserDaoImpl

JavaWeb如何使用mvc模式实现登录功能

packagedao;importentity.User;importjava.sql.Connection;importjava.util.List;publicinterfaceUserDao{//根据账号密码查询数据库,返回结果集List<User>findUserByUserNameAndPassWord(Connectionconnection,StringuserName,StringpassWord);}
packagedao.impl;importdao.UserDao;importentity.User;importutils.JDBCUtils;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.util.ArrayList;importjava.util.List;publicclassUserDaoImplimplementsUserDao{@OverridepublicList<User>findUserByUserNameAndPassWord(Connectionconnection,StringuserName,StringpassWord){//发送sql语句对象PreparedStatementstatement=null;List<User>userList=newArrayList<>();try{connection=JDBCUtils.getConnection();//获取Statement对象statement=connection.prepareStatement("select*fromuserwhereusername=?andpassword=?");statement.setString(1,userName);statement.setString(2,passWord);ResultSetrs=statement.executeQuery();while(rs.next()){Useruser=newUser();intid=rs.getInt(1);Stringusername=rs.getString(2);Stringpassword=rs.getString(3);user.setId(id);user.setUserName(username);user.setPassWord(password);userList.add(user);}returnuserList;}catch(Exceptione){e.printStackTrace();returnuserList;}finally{JDBCUtils.close(null,statement,null);}}}

登录实现

1.首页 index.jsp

JavaWeb如何使用mvc模式实现登录功能

2.错误登录login.jsp

JavaWeb如何使用mvc模式实现登录功能

JavaWeb如何使用mvc模式实现登录功能

3. 正确登录login.jsp

JavaWeb如何使用mvc模式实现登录功能

4. 登录成功success.jsp

JavaWeb如何使用mvc模式实现登录功能

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:JavaWeb如何使用mvc模式实现登录功能的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:HTML5常用标签表单是什么下一篇:

5 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18