day09 书城项目第三阶段
第一章 项目准备工作
1. 创建Module
2. 拷贝jar包
- 数据库jar包
- Thymeleaf的jar包
3. 从V2版本项目迁移代码
3.1 迁移src目录下的Java源代码
- 拷贝resources目录,然后将resource目录标记成Resources Root
- 拷贝src目录下的内容,并且将原有的Servlet全部删除
- 创建两个子包
- 存放Servlet基类:com.atguigu.bookstore.servlet.base
- 存放Servlet子类:com.atguigu.bookstore.servlet.model
- 从资料中将两个基类拷贝过来,放置到com.atguigu.bookstore.servlet.base包里面
- 视图基类:ViewBaseServlet
- 方法分发基类:ModelBaseServlet
3.2 迁移前端代码
- 将V02中的pages目录整体复制到V03 module的WEB-INF目录下
- 将V02中的static目录整体复制到V03 module的web目录下
- 将V02中的index.html复制到V03 module的WEB-INF/pages目录下,将来通过Servlet访问
4. 显示首页
4.1 修改web.xml
注意:这里需要将WEB-INF下的view改成pages,和当前项目环境的目录结构一致。
4.2 创建PortalServlet
注意:这个PortalServlet映射的地址是/index.html,这样才能保证访问首页时访问它。
注意:PortalServlet服务于首页的显示,为了降低用户访问首页的门槛,不能附加任何请求参数,所以不能继承ModelBaseServlet,只能继承ViewBaseServlet。
package com.atguigu.servlet.model;
import com.atguigu.servlet.base.ViewBaseServlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/*
@author Leevi
日期2021-05-14 09:03
该Servlet只需要处理访问首页
*/
public class PortalServlet extends ViewBaseServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
@Override<br /> protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {<br /> processTemplate("index",request,response);<br /> }<br />}
4.3 调整index.html
- 加入Thymeleaf名称空间
Java代码:
package com.atguigu.servlet.model; import com.atguigu.bean.User;
import com.atguigu.service.UserService;
import com.atguigu.service.impl.UserServiceImpl;
import com.atguigu.servlet.base.ModelBaseServlet;
import org.apache.commons.beanutils.BeanUtils; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Map; /
@author Leevi
日期2021-05-14 09:07
*/
public class UserServlet extends ModelBaseServlet {
private UserService userService = new UserServiceImpl();
/
跳转到登录页面
@param request
@param response
/
public void toLoginPage(HttpServletRequest request, HttpServletResponse response) throws IOException {
}
}
注意:记得修改UserServlet继承的类ModelBaseServlet ##### 1.2.1 前往登录页面功能 ###### 1.2.1.1 修改首页中登录超链接 登录 ###### 1.2.1.2 完成UserServlet.toLoginPage()方法 /
跳转到登录页面
@param request
@param response
/
public void toLoginPage(HttpServletRequest request, HttpServletResponse response) throws IOException {
processTemplate(“user/login”,request,response);
} ###### 1.2.1.3 调整登录页面代码 - 加入Thymeleaf名称空间 - 修改base标签