实验报告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、测试
相关推荐
Listen·Rain2 小时前
向量化详解
java·人工智能·spring·机器学习·ai
添砖java_8574 小时前
网页聊天室测试报告
java·spring boot·spring·maven
xixingzhe25 小时前
Spring 依赖注入
java·后端·spring
闲猫14 小时前
Spring AI 对接Deepseek ChatModel 聊天对话
java·前端·spring
醇氧20 小时前
Spring 容器 Map 注入机制详解
java·后端·spring
ylscode21 小时前
Cloudflare Workers Cache 深度解析:边缘缓存如何重塑无服务器性能边界
java·spring·mybatis
沉静的小伙21 小时前
Spring事务
java·数据库·spring
Wang's Blog1 天前
Java框架快速入门: Spring Bean核心配置与实例化详解
java·开发语言·spring
爱敲代码的小鱼1 天前
springboot原理篇:
java·spring boot·spring
k↑1 天前
SpringCloud + React19 集成Scalar的API文档
后端·spring·spring cloud