4.14团队和个人第二次冲刺
团队博客
整个项目预期的任务量:30h 已用5h
任务看板照片
团队照片
燃尽图
4.产品状态
完成登录界面和注册功能
个人博客
昨天配置好了web项目所需要的环境,今天进行登录和注册功能的实现和开发
首先是注册功能,在后台先进行sql语句的编写,编写结果如下
@Insert("insert into v_company values(null,#{cname},#{cinfor},#{cpassword},#{salary})") void addcompany(Company company); @Insert("insert into v_user values(null,#{username},#{password},#{email},#{phone})")
void adduser(User user);
然后编写对应的Servlet端,主要有两个角色,公司和个人,编写好的代码如下,通过id进行对角色进行区分
package com.itheima.web; import com.itheima.pojo.Company; import com.itheima.pojo.User; import com.itheima.service.UserService; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.annotation.*; import java.io.IOException; @WebServlet("/RegisterServlet") public class RegisterServlet extends HttpServlet { UserService userService = new UserService(); @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); String roleid = request.getParameter("roleid"); if (roleid.equals("0")){ Company company = new Company(); String username = request.getParameter("username"); String cinfor = request.getParameter("cinfor"); String password = request.getParameter("password"); String salary = request.getParameter("salary"); company.setCname(username); company.setCpassword(password); company.setCinfor(cinfor); company.setSalary(salary); userService.addcompany(company); request.getRequestDispatcher("companyregister.jsp").forward(request,response); } else{ User user = new User(); String username = request.getParameter("username"); String password = request.getParameter("password"); String email = request.getParameter("email"); String phone = request.getParameter("phone"); user.setUsername(username); user.setPassword(password); user.setEmail(email); user.setPhone(phone); userService.adduser(user); request.getRequestDispatcher("userregister.jsp").forward(request,response); } } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request, response); } }
测试的结果如图所示,成功
然后进行登录后台代码
首先编写对应sql语句
@Select("select * from v_user where username=#{username} and password=#{password}") User selectuser(@Param("username") String username,@Param("password") String password); @Select("select * from v_company where cname=#{cname} and cpassword=#{cpassword}") Company selectcompany(@Param("cname") String cname,@Param("cpassword") String cpassword);
后台测试没有问题,进行servlet端的编写
package com.itheima.web; import com.itheima.pojo.Company; import com.itheima.pojo.User; import com.itheima.service.UserService; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.annotation.*; import java.io.IOException; @WebServlet("/LoginServlet") public class LoginServlet extends HttpServlet { UserService userService = new UserService(); @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); String username = request.getParameter("username"); String password = request.getParameter("password"); Company company = userService.selectcompany(username, password); User user = userService.selectuser(username, password); if(user!=null&&company==null){ HttpSession session = request.getSession(); session.setAttribute("user",user); request.getRequestDispatcher("user.html").forward(request,response); } else if(user==null&&company!=null){ HttpSession session = request.getSession(); session.setAttribute("company",company); request.getRequestDispatcher("company.html").forward(request,response); } else { request.getRequestDispatcher("login.html").forward(request,response); } } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request, response); } }
测试结果如图所示
今天的冲刺任务较为简单,没有遇到什么困难