实验报告5-Spring MVC实现页面

实验报告5-SpringMVC实现页面

一、需求分析

使用Spring MVC框架,从视图、控制器和模型三方面实验动态页面。模拟实现用户登录,模拟的用户名密码以模型属性方式存放在Spring容器中,控制器相应用户请求并映射参数,页面收集用户数据或者展示控制器返回信息。

二、编码实现

1、新建项目

项目:maven,Archetype:maven-archetype-webapp,GroupID:com.sw

引入pom依赖

2、补充项目目录

src.main目录下,新建Java功能目录,resources功能目录,

java包下,新建com.sw.controller包、com.sw.service包、com.sw.dao包、com.sw.pojo包

3、配置Spring

resources目录,applicationContext.xml

XML 复制代码
    <!-- 配置 Spring MVC 要扫描的包 -->
    <context:component-scan base-package="com.sw"/>
    <!-- 配置视图解析器 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/pages/"/>
        <property name="suffix" value=".jsp"/>
    </bean>

WEB-INF目录下,新建pages目录

4、配置Servlet

web.xml文件

XML 复制代码
  <servlet>
    <servlet-name>DispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!-- 配置初始化参数,读取Spring MVC的配置文件 -->
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:applicationContext.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>DispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
5、数据封装类

com.sw.pojo包,User类

java 复制代码
@Data
@Component
public class User {
    private int id;
    @Value("zhangsan")
    private String username;
    @Value("123456")
    private String password;
}
6、dao层

com.sw.dao包,UserDao接口

java 复制代码
public interface UserDao {
    boolean login(User loginUser);
}

com.sw.dao.impl包,UserDaoImpl实现类

java 复制代码
@Repository
public class UserDaoImpl implements UserDao {
​
    @Resource(name = "user")
    private User dbUser;
​
    @Override
    public boolean login(User loginUser) {
        if (loginUser.getUsername().equals(dbUser.getUsername())&&
                loginUser.getPassword().equals(dbUser.getPassword())){
            return true;
        }
        return false;
    }
}
7、service层

com.sw.service包,UserService接口

java 复制代码
public interface UserService {
    boolean login(User loginUser);
}

com.sw.service.impl包,UserServiceImpl实现类

java 复制代码
@Service
public class UserServiceImpl implements UserService {
​
    @Resource
    private UserDao userDao;
​
    @Override
    public boolean login(User loginUser) {
        return userDao.login(loginUser);
    }
}
8、controller层

com.sw.controller包,UserController类

java 复制代码
@Controller
@RequestMapping("/user")
public class UserController {
​
    @Resource
    private UserService userService;
​
    @GetMapping("/index")
    public String index(){
        return "user/index";
    }
​
    @GetMapping("/login")
    public String login(){
        return "user/login";
    }
​
    @PostMapping("/login")
    public String login(User loginUser){
        boolean login = userService.login(loginUser);
        if (login){
            return "user/index";
        }
        return "user/login";
    }
}
9、jsp页面

WEB-INF/pages目录,新建user/index.jsp

html 复制代码
<body>
    <h2>用户首页</h2>
</body>

WEB-INF/pages目录,新建user/login.jsp

html 复制代码
<body>
<h2>用户登录页</h2>
<form action="/user/login" method="post">
    <table>
        <tr>
            <td>用户名:</td>
            <td><input type="text" name="username"></td>
        </tr>
        <tr>
            <td>密码:</td>
            <td><input type="password" name="password" ></td>
        </tr>
        <tr>
            <td><input type="submit" value="提交"></td>
        </tr>
    </table>
</form>
</body>
10、Add Configurations

Add New Configuration→Tomcat Server→Local

Server:

Name:Tomcat8

Application server:配置本机的Tomcat

Deployment:

Add→Artifact...→项目名:war

Application context:/项目名 或者 /

11、测试
相关推荐
梵得儿SHI2 小时前
Spring Cloud 实战攻坚:企业级用户服务开发(注册登录 + JWT 认证 + 权限控制)
后端·spring·spring cloud·用户注册与登录·jwt无状态认证体系·rbac权限控制·微服务用户中心
玹外之音6 小时前
Spring AI 实战:手把手教你构建支持多会话管理的智能聊天服务
java·spring
callJJ6 小时前
Spring Bean 生命周期详解——从出生到销毁,结合源码全程追踪
java·后端·spring·bean·八股文
知识即是力量ol7 小时前
口语八股——Spring 面试实战指南(一):核心概念篇、AOP 篇
java·spring·面试·aop·八股·核心概念篇
dfyx9997 小时前
Maven Spring框架依赖包
java·spring·maven
sp428 小时前
Spring Task 任务调度可视化管理
后端·spring
小冷coding9 小时前
【项目】医疗数字化升级:基于Spring生态的合规化微服务架构实践
spring·微服务·架构
xj198603199 小时前
maven导入spring框架
数据库·spring·maven
MX_935910 小时前
Spring组件扫描原理解析
java·后端·spring
知识即是力量ol10 小时前
口语八股——Spring 面试实战指南(二):事务管理篇、Spring MVC 篇、Spring Boot 篇、Bean生命周期篇
spring·面试·mvc·springboot·八股·事务管理·bean生命周期