RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。
public String login(String userName,String userPw,int userType) throws Exception { System.out.println("userType"+userType); try { Thread.sleep(700); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } String result="no"; if(userType==0){ TAdmin admin = new TAdmin(); admin.setUserName(userName); admin.setUserPw(userPw); List adminList=tAdminService.queryTAdminList(admin); if(adminList.size()==0) { result="no"; } else { WebContext ctx = WebContextFactory.get(); HttpSession session=ctx.getSession(); TAdmin adminUser=(TAdmin)adminList.get(0); session.setAttribute("userType", "0"); session.setAttribute("admin", adminUser); result="yes"; } } if(userType==1){ Userinfo userinfo = new Userinfo(); userinfo.setUname(userName); userinfo.setPwd(userPw); List userList=userinfoService.queryUserinfoList(userinfo); if(userList.size()==0) { result="no"; } else { WebContext ctx = WebContextFactory.get(); HttpSession session=ctx.getSession(); Userinfo uinfo=(Userinfo)userList.get(0); session.setAttribute("userType", 1); session.setAttribute("user", uinfo); result="yes"; } } return result; }
未有账号的用户可进入注册界面进行注册操作,注册信息包括用户名、密码、姓名、邮箱以及联系方式等,用户注册界面如图5-2所示。
管理员在修改密码界面可输入原密码、新密码,点击修改按钮进行修改密码操作,修改密码界面如图5-4所示。
管理员登录后可进行球队管理操作,可添加、修改和删除球队信息,用户可查看球队信息,无权进行管理操作,管理员球队管理界面展示如图5-5所示。添加球队界面如图5-6所示。
管理员登录后可进行球员管理操作,可添加、修改和删除球员信息,用户可查看球员信息,无权进行管理操作,管理员球员管理界面展示如图5-7所示。添加球员界面如图5-8所示。
@RequestMapping(value="/qiuyuanList") public String qiuyuanList(HttpServletRequest request) throws Exception { Qiuyuan qiuyuan = new Qiuyuan(); List<Qiuyuan> qiuyuanList=qiuyuanService.queryQiuyuanList(qiuyuan); if(qiuyuanList!=null && qiuyuanList.size()>0){ for (Qiuyuan qiuyuan2 : qiuyuanList) { qiuyuan2.setQiudui(qiuduiService.queryQiuduiById(qiuyuan2.getQd())); } } request.setAttribute("qiuyuanList", qiuyuanList); return "/admin/qiuyuan/qiuyuan_list.jsp"; }
SqlSessionFactory是MyBatis的关键对象,它是个单个数据库映射关系经过编译后的内存镜像。SqlSessionFactory对象的实例可以通过SqlSessionFactoryBuilder对象类获得,而SqlSessionFactoryBuilder则可以从XML配置文件或一个预先定制的Configuration的实例构建出SqlSessionFactory的实例。每一个MyBatis的应用程序都以一个SqlSessionFactory对象的实例为核心。同时SqlSessionFactory也是线程安全的,SqlSessionFactory一旦被创建,应该在应用执行期间都存在。在应用运行期间不要重复创建多次,建议使用单例模式,SqlSessionFactory是创建SqlSession的工厂。
管理员登录后可进行球员数据管理操作,可添加、修改和删除球员数据信息,用户可查看球员数据信息,无权进行管理操作,管理员球员数据管理界面展示如图5-9所示。添加球员数据界面如图5-10所示。
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DbUtil { private String dbUrl="jdbc:mysql://127.0.0.1:3306/database?serverTimezone=UTC&useSSL=false"; // 数据库连接地址 private String dbUserName="root"; // 用户名 private String dbPassword="123456"; // 密码 private String jdbcName="com.mysql.cj.jdbc.Driver"; // 驱动名称 /** * 获取数据库连接 * @return * @throws Exception */ public Connection getCon(){ try { Class.forName(jdbcName); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } Connection con = null; try { con = DriverManager.getConnection(dbUrl, dbUserName, dbPassword); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return con; } /** * 关闭数据库连接 * @param con * @throws Exception */ public void closeCon(Connection con)throws Exception{ if(con!=null){ con.close(); } } public static void main(String[] args) { DbUtil dbUtil=new DbUtil(); try { dbUtil.getCon(); System.out.println("数据库连接成功!"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("数据库连接失败"); } } }
开发环境
开发工具:idea、Navicat
数据库:MySQL8.0
环境配置:jdk1.8 、Tomcat8.5
开发人员:IT012201