详细说明用idea做出Spring MVC的本质就是一个servlet,是对原生的servlet进行了封装。在以前浏览器的每一次请求都需要写一个对应的servlet,现在只需将浏览器的请求和响应交给DispatcheServlet进行统一的处理。设计一个注册和登录功能,自定义一个登陆验证的控制器,实现正确登陆跳转至欢迎页面,错误登陆跳转至注册页面的基本功能
时间: 2024-01-21 11:18:56 浏览: 24
首先,我们需要创建一个Maven项目,并添加Spring MVC相关依赖。
在web.xml文件中配置DispatcherServlet,将所有请求都交给DispatcherServlet进行处理。
然后,我们需要创建一个Controller类,实现登录和注册功能。在登录方法中,我们可以先获取用户输入的用户名和密码,然后与数据库中的数据进行比对,如果验证通过,就跳转到欢迎页面,否则跳转到注册页面。
在注册方法中,我们可以先检查输入的用户名是否已经存在于数据库中,如果不存在,就将用户信息添加到数据库中,并跳转到欢迎页面;否则,提示用户该用户名已经被使用。
以下是示例代码:
web.xml:
```xml
<web-app>
<display-name>SpringMVCExample</display-name>
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
```
dispatcher-servlet.xml:
```xml
<beans xmlns="http://www.springframework.org/schema/beans"
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-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
<context:component-scan base-package="com.example.controller"/>
<mvc:annotation-driven/>
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".jsp"/>
</bean>
</beans>
```
UserController.java:
```java
@Controller
public class UserController {
@Autowired
private UserService userService;
@RequestMapping(value="/login", method = RequestMethod.GET)
public String loginPage() {
return "login";
}
@RequestMapping(value="/login", method = RequestMethod.POST)
public String login(@RequestParam("username") String username,
@RequestParam("password") String password,
HttpSession session) {
User user = userService.getUserByUsername(username);
if (user != null && user.getPassword().equals(password)) {
session.setAttribute("user", user);
return "redirect:/welcome";
} else {
return "redirect:/register";
}
}
@RequestMapping(value="/register", method = RequestMethod.GET)
public String registerPage() {
return "register";
}
@RequestMapping(value="/register", method = RequestMethod.POST)
public String register(@RequestParam("username") String username,
@RequestParam("password") String password) {
User user = userService.getUserByUsername(username);
if (user == null) {
userService.addUser(username, password);
return "redirect:/welcome";
} else {
return "redirect:/register?error=1";
}
}
@RequestMapping(value="/welcome", method = RequestMethod.GET)
public String welcomePage() {
return "welcome";
}
}
```
其中,UserService是一个服务类,用于操作数据库,可以根据具体需求自行实现。loginPage、registerPage和welcomePage方法分别返回对应的页面。
在views文件夹下创建login.jsp、register.jsp和welcome.jsp三个页面,分别用于显示登录、注册和欢迎页面。
以上就是一个基本的Spring MVC注册和登录功能的实现。