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名称空间
 
#### 1.2 代码
##### 1.2.1 创建UserServlet
web.xml中的配置: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标签


