下面是关于“Spring+SpringMVC+JDBC实现登录的示例(附源码)”的完整攻略,包含两个示例说明。
Spring+SpringMVC+JDBC实现登录的示例
在本文中,我们将介绍如何使用Spring、SpringMVC和JDBC实现一个简单的登录功能。
步骤1:添加依赖
首先,我们需要在pom.xml
文件中添加Spring、SpringMVC和JDBC的依赖。以下是一个简单的依赖示例:
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.9</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.3.9</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
</dependency>
</dependencies>
步骤2:配置数据源
接下来,我们需要在Spring配置文件中配置数据源。在src/main
目录下创建一个名为applicationContext.xml
的文件,并添加以下内容:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<context:property-placeholder location="classpath:jdbc.properties"/>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
</beans>
在上面的配置文件中,我们使用了<context:property-placeholder>
元素来加载jdbc.properties
文件中的属性。我们还使用了<bean>
元素来配置数据源。
步骤3:配置JDBC模板
接下来,我们需要在Spring配置文件中配置JDBC模板。在applicationContext.xml
中添加以下内容:
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"/>
</bean>
在上面的配置文件中,我们使用了<bean>
元素来配置JDBC模板,并使用了<property>
元素来设置数据源。
步骤4:配置SpringMVC
最后,我们需要在SpringMVC配置文件中配置SpringMVC。在src/main/resources
目录下创建一个名为spring-servlet.xml
的文件,并添加以下内容:
<beans xmlns="http://www.springframework.org/schema/"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<context:component-scan base-package="com.example"/>
<mvc:annotation-driven/>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".jsp"/>
</bean>
</beans>
在上面的配置文件中,使用了<context:component-scan>
元素来扫描com.example
包的组件。我们还使用了<mvc:annotation-driven>
元素来启用注解驱动的SpringMVC。我们还使用了<bean>
元素来配置视图解析器。
示例1:创建用户表
以下是一个示例,演示如何创建一个用户表:
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(50) NOT NULL,
`password` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
在上面的示例中,我们创建了一个名为user
的表,包含id
、username
和password
三个字段。
示例2:实现登录功能
以下是一个示例,演示如何实现登录功能:
@Controller
public class LoginController {
@Autowired
private JdbcTemplate jdbcTemplate;
@GetMapping("/login")
public String login() {
return "login";
}
@PostMapping("/login")
public String doLogin(@RequestParam String username, @RequestParam String password, HttpSession session) {
String sql = "SELECT * FROM user WHERE username = ? AND password = ?";
List<Map<String, Object>> rows = jdbcTemplate.queryForList(sql, username, password);
if (rows.size() == 1) {
session.setAttribute("username", username);
return "redirect:/home";
} else {
return "login";
}
}
@GetMapping("/home")
public String home(HttpSession session) {
String username = (String) session.getAttribute("username");
if (username != null) {
return "home";
} else {
return "redirect:/login";
}
}
@GetMapping("/logout")
public String logout(HttpSession session) {
session.invalidate();
return "redirect:/login";
}
}
在上面的示例中,我们使用了@Autowired
注解来注入JDBC模板。我们还使用了@GetMapping
和@PostMapping
注解来处理GET和POST请求。我们还使用了@RequestParam
注解来获取请求参数,并使用HttpSession
对象来存储和获取用户信息。我们还使用了redirect:
前缀来进行重定向。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring+SpringMVC+JDBC实现登录的示例(附源码) - Python技术站