<%@ page language=“java” contentType=“text/html; charset=UTF-8”
pageEncoding=“UTF-8”%>
<%
String path = request.getContextPath();
int port = request.getServerPort();
String basePath = null;
if(port==80){
basePath = request.getScheme()+“😕/”+request.getServerName()+path;
}else{
basePath = request.getScheme()+“😕/”+request.getServerName()+“:”+request.getServerPort()+path;
}
request.setAttribute(“basePath”, basePath);
%>
basePath 就是项目的根路径。这样做的好处就是,使得JSP看起来很干净,没有那么多冗余的代码了。
大概就是这个样子,接下来,我们开始写业务。
3. 登陆功能的MVC流程
登陆框中,目前只有用户名和密码这两个选项。
我们首先要做的就是将这两个值传递到后台。所谓的后台,其实就是Java代码。为了看起来比较清晰,我们在WebContent目录下新建一个controller包。
这是一个MVC分层的示意图
意思就是说,用户登录之后,我们需要验证它的用户名和密码是否正确,那么就需要将数据拿到数据库里面去匹配。总体的流程大概是这样:我先在前台获取用户名和密码,然后到controller层(控制层),这一层需要接受你传过来的用户名和密码,进行一些基本的控制。
然后继续将数据传递到service层,也就是业务层,这一层会根据具体的业务对你的数据进行判断和分析,最后,才传递到dao层,这一层原则上就是和数据库进行交互的。多半是写sql语句然后操作数据库。
就比如说用户登录这个功能,我需要判断的就是
-
你这个用户是否存在?
-
用户名和密码是否正确?
最终,还需要将登录的标志返回给前台。
dao -> servide -> controller -> JSP
这样就是一个完整的流程。
###4. 从JSP到controller层
让我们打开login.jsp页面,引入jQuery
登录框的HTML代码: