SpringMVC 简单实例

一.

配置web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
	id="WebApp_ID" version="3.0">
	<display-name>SpringMVC</display-name>
	<welcome-file-list>
		<welcome-file>index.html</welcome-file>		
	</welcome-file-list>
	
	<servlet>
		<!--springmvc的核心是DispatcherServlet,它负责控制整个页面的请求路径 -->
		<servlet-name>dispatcherServlet</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<!--初始化参数 >/WEB-INF/classes/相当于src目录 -->
		<init-param>
			<!-- 这个param-name必须是contextConfigLocation -->
			<param-name>contextConfigLocation</param-name>
			<param-value>/WEB-INF/classes/res/applicationContext.xml</param-value>
		</init-param>
		<load-on-startup>2</load-on-startup>
	</servlet>
	<!--拦截所有以do结尾的请求-->
	<servlet-mapping>
		<servlet-name>dispatcherServlet</servlet-name>
		<url-pattern>*.do</url-pattern>
	</servlet-mapping>
	<!--处理从页面传递中文到后台而出现的中文乱码问题-->
	<filter>
        <filter-name>encodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

二.配置applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns:context="http://www.springframework.org/schema/context"
    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:component-scan base-package="com" />

	
</beans>

三.创建Controller

package com;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class UserController {
	@RequestMapping("index.do")
	public ModelAndView init(){
		return new ModelAndView("");
	}
}


项目结构:



jar包:




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这里给您一个简单的 Spring MVC 实例,实现一个简单的用户注册功能。 首先,我们需要建立一个 Maven 项目,并添加以下依赖: ```xml <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.9.RELEASE</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> </dependency> </dependencies> ``` 接下来,我们需要配置 Spring MVC,创建一个 `springmvc-servlet.xml` 文件: ```xml <beans xmlns="http://www.springframework.org/schema/beans" 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/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> <mvc:annotation-driven /> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/" /> <property name="suffix" value=".jsp" /> </bean> <mvc:resources mapping="/resources/**" location="/resources/" /> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/test" /> <property name="username" value="root" /> <property name="password" value="root" /> </bean> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource" ref="dataSource" /> </bean> <bean id="userDao" class="com.example.dao.UserDaoImpl"> <property name="jdbcTemplate" ref="jdbcTemplate" /> </bean> <bean id="userService" class="com.example.service.UserServiceImpl"> <property name="userDao" ref="userDao" /> </bean> <bean id="userController" class="com.example.controller.UserController"> <property name="userService" ref="userService" /> </bean> <mvc:default-servlet-handler /> <mvc:resources mapping="/resources/**" location="/resources/" /> <context:component-scan base-package="com.example" /> </beans> ``` 其中,我们配置了视图解析器,静态资源的访问路径,数据源,JdbcTemplate,Dao 和 Service 层的 Bean,以及控制器的 Bean。同时,我们启用了注解驱动和组件扫描。 接着,我们创建一个 `UserController` 类来处理用户注册的请求: ```java @Controller public class UserController { @Autowired private UserService userService; @RequestMapping(value = "/register", method = RequestMethod.GET) public String showRegistrationForm(Model model) { model.addAttribute("user", new User()); return "register"; } @RequestMapping(value = "/register", method = RequestMethod.POST) public String processRegistration(@ModelAttribute("user") User user, BindingResult result, Model model) { if (result.hasErrors()) { return "register"; } userService.addUser(user); return "redirect:/login"; } } ``` 我们在控制器类上使用 `@Controller` 注解,并在类中注入 `UserService`。我们使用 `@RequestMapping` 注解来处理请求,其中 `showRegistrationForm()` 方法用来展示用户注册表单,`processRegistration()` 方法用来处理用户提交的表单数据。 接着,我们创建一个 `UserDao` 接口和它的实现类 `UserDaoImpl`,用来实现用户数据的存储和查询: ```java public interface UserDao { void addUser(User user); User getUserByUsername(String username); } ``` ```java @Repository public class UserDaoImpl implements UserDao { @Autowired private JdbcTemplate jdbcTemplate; @Override public void addUser(User user) { String sql = "INSERT INTO users (username, password, email) VALUES (?, ?, ?)"; jdbcTemplate.update(sql, user.getUsername(), user.getPassword(), user.getEmail()); } @Override public User getUserByUsername(String username) { String sql = "SELECT * FROM users WHERE username = ?"; return jdbcTemplate.queryForObject(sql, new Object[]{username}, new UserRowMapper()); } private static final class UserRowMapper implements RowMapper<User> { @Override public User mapRow(ResultSet rs, int rowNum) throws SQLException { User user = new User(); user.setId(rs.getLong("id")); user.setUsername(rs.getString("username")); user.setPassword(rs.getString("password")); user.setEmail(rs.getString("email")); return user; } } } ``` 我们使用 `@Repository` 注解来标识 `UserDaoImpl` 类为数据访问层的 Bean。我们在 `UserDao` 接口中定义了添加用户和根据用户名查询用户的方法,在 `UserDaoImpl` 中实现了这些方法,并使用 `JdbcTemplate` 来访问数据库。 最后,我们创建一个 `User` 类来表示用户: ```java public class User { private Long id; private String username; private String password; private String email; // 省略 getter 和 setter 方法 } ``` 我们在类中定义了用户的属性,以及对应的 getter 和 setter 方法。 最后,我们创建一个 `register.jsp` 页面来展示用户注册表单: ```html <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>User Registration Form</title> </head> <body> <h1>User Registration Form</h1> <form:form method="post" modelAttribute="user"> <table> <tr> <td>Username:</td> <td><form:input path="username" /></td> </tr> <tr> <td>Password:</td> <td><form:password path="password" /></td> </tr> <tr> <td>Email:</td> <td><form:input path="email" /></td> </tr> <tr> <td colspan="2"><input type="submit" value="Register" /></td> </tr> </table> </form:form> </body> </html> ``` 在页面中,我们使用了 Spring MVC 的标签库来绑定表单数据。 以上就是一个简单的 Spring MVC 实例,实现了用户注册功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值