实验报告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、测试
相关推荐
武昌库里写JAVA3 小时前
机器学习笔记2 - 机器学习的一般流程
spring boot·spring·毕业设计·layui·课程设计
Ling_suu8 小时前
Spring——单元测试
java·spring·单元测试
代码小鑫9 小时前
A032-基于Spring Boot的健康医院门诊在线挂号系统
java·开发语言·spring boot·后端·spring·毕业设计
喔喔咿哈哈9 小时前
【手撕 Spring】 -- Bean 的创建以及获取
java·后端·spring·面试·开源·github
码农小丘9 小时前
了解springboot国际化用途以及使用
java·spring boot·spring
tian-ming9 小时前
JavaWeb后端开发知识储备1
java·spring boot·nginx·spring·maven
夏微凉.9 小时前
【JavaEE进阶】Spring AOP 原理
java·spring boot·后端·spring·java-ee·maven
杨过姑父10 小时前
org.springframework.context.support.ApplicationListenerDetector 详细介绍
java·前端·spring
理想不理想v10 小时前
使用JS实现文件流转换excel?
java·前端·javascript·css·vue.js·spring·面试
抱走江江10 小时前
SpringCloud框架学习(第二部分:Consul、LoadBalancer和openFeign)
学习·spring·spring cloud