上次学长讲了登录界面的代码,当时觉得听得还很懂,但是到自己做时还是很有困难的,不过毕竟听了一遍,所以思路清晰了很多。下面这个图很清楚地解释了整个工作的流程,首先我们打开写的WebContent下的login.jsp文件,是在浏览器下的一个登陆界面,在里面建立了一个表格,运用html的知识,重点就是<form action="LoginServlet" method="post">这句,表单中的action里面的LoginServlet是上面的一个要执行的类,mothod是执行方式,常用的有get和post两种,两者有一定的区别,post比get的使用范围大。
当点击浏览器中的登录后,首先是启动tomcat服务器加载servlet,加载servlert是在web.xml文件下
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>com.qmx.web.controller.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/LoginServlet</url-pattern>
</servlet-mapping>
首先搜索<url-pattern>找到<servlet-name>进而找到<servlet-class>进入目标类中,则开始了dao中各层的工作,并且从中得到后台的响应结果加载对应的页面,比如登录成功或者失败。其次注册也是一个重难点,弄懂dao层的各层工作原理是一个大头。以下给与讲解。
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String username = req.getParameter("username");
String password = req.getParameter("password");
这个是得到浏览器输入的信息username和password,
其次UserService userService = new UserService();
try {
if(userService.findByName(username).getPassword().equals(password)) {
req.getRequestDispatcher("success.jsp").forward(req, resp);
}else {
req.getRequestDispatcher("error.jsp").forward(req, resp);
}
} catch (Exception e) {
e.printStackTrace();
}
查找数据库中的信息是否和浏览器中输入的信息一样,根据结果返回不同呢的jsp文件信息,从数据库中得到信息又是层层化的,首先我们需要在mysql数据库中建立好自己需要的库和表,存入信息,这里的utils是链接数据库的包,
#mysql
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/webdb
jdbc.username=root
jdbc.password=
这是mysql的本地连接,这里我没有设置密码。
DButil里面是连接的步骤,一步步dao层。