idea中创建maven依赖下的web工程(一)----用户登录界面
public class User { private String username; private String password; public User() { } public User(String username, String password) { this.username = username; this.password = password; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String toString() { return "User{" + "username=" + username + + ", password=" + password + + }; }
细心的你应该会看到,在这里我们覆写了Object的toString()方法,其实进行覆写也只是为了方便我们自己查看输出信息而已, 接下来,我们就可以开始写一个Controller控制器类了, 这里我新建了一个LoginController.java的类—-
public class LoginController extends HttpServlet{ protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //解决响应乱码 resp.setCharacterEncoding("UTF-8"); //解决请求乱码 req.setCharacterEncoding("UTF-8"); String username = req.getParameter("username"); String password = req.getParameter("password"); User user = new User(username,password); //创建一个保存错误的容器 Map<String,String> errors = new HashMap<String,String>(); //判断用户名和密码是否为空 //判断长度 if(StringUtils.isEmpty(user.getUsername())){ errors.put("username","用户名错误!"); } if(StringUtils.isEmpty(user.getPassword())){ errors.put("password","密码错误!"); } if(errors.size() > 0){ req.setAttribute("errors",errors); req.getRequestDispatcher("/login.jsp").forward(req,resp); return; } //登录成功跳转到登录页面 req.getSession().setAttribute("user",user); resp.sendRedirect("/main.jsp"); } }
此外,我们还是应该把判断字符串是否为空这个方法封装起来的.
public class StringUtils { public static boolean isEmpty(String str){ return str == null || "".equals(str) ? true : false; } }
接下来就是编写.jsp文件了,不然我们在哪里看到界面的庐山真面目呢 在webapp目录下我们创建了login.jsp和main.jsp文件。 login.jsp代码为:
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <html> <head> <title>Title</title> </head> <body> <c:forEach items="${errors}" var="error"> <font color="red">${error.key}</font> ${error.value}</br> </c:forEach> <form action="/login" method="post"> 用户名<input type="text" name="username"><br> 密码<input type="password" name="password"><br> <input type="submit" value="登录"> </form> </body> </html>
main.jsp的代码为:
<%@ page contentType="text/html;charset=UTF-8" language="java"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <html> <head> <meta charset="utf-8"> <title>Title</title> </head> <body> 欢迎你${user.username} </body> </html>
关于EL表达式的使用,请大家去查阅相关的资料这里就不给出相关的链接地址了,毕竟每个人的喜好不一样,是吧。 写完了这些,你是不是认为一切大功告成了? 你是不是以为我们的项目就可以跑起来了? oh no,还差了最关键的一步呢 那就是web.xml文件里面的配置咯 现在,一切准备就绪了,我们可以连接好自己的本地的tomcat之后就可以运行整个项目了: 记得协商url地址哦。 下面可以进行操作了—- 嗯,到这里就结束了,不知道你看明白了木有呢,后面还会继续更新的。