使用map传递数据(idea_maven_spring4_mybatis3_map_ajax)

本文详细介绍了如何使用Maven和IntelliJ IDEA 2018创建Web工程项目,包括配置Maven、添加web模块、配置pom.xml、实现业务逻辑、设置数据库层、配置web.xml和spring-mvc.xml等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用Maven创建工程(idea2018)

配置Maven

 

 

搜索pom配置

创建工程

 

 

 

项目结构

添加web

 

添加后项目结构

 

 

代码

代码结构

 

pom.xml配置

 

 

业务控制器

 

业务逻辑层

 

数据库层

Func1Mapper.java

Func1Mapper.xml

web.xml配置

spring-mvc.xml配置

 

 

视图test.jsp

 

启动服务器

首页是func1请求

 

查询func1/ajaxsel请求

增加func1/insert请求(map接收数据)

 

 

HTTP 405错误

方法返回类型ModelAndView,如果返回视图,但没有配置视图解析

<think>好的,用户想知道如何使用Maven构建一个前后端交互的项目,特别是前端参并通过接口查询学生信息。我需要结合提供的引用资料,给出一个清晰的步骤指南。 首先,根据引用[2],使用Spring MVC和Maven整合前后端交互是可行的。我需要先指导用户创建Maven项目,并添加必要的依赖,比如Spring MVC和Servlet API。同时,可能需要连接数据库,这里可以用JDBC或者MyBatis,但用户的问题中没有具体提到数据库部分,所以可能先简化,使用模拟数据。 接下来,后端控制器的部分。用户需要创建一个Controller类处理前端的请求。根据RESTful设计,可以定义一个GET接口,接收学生ID作为参数,返回学生信息。这里需要引用[2]提到的Spring MVC配置,比如@Controller和@RequestMapping注解的使用。 然后是关于前端如何调用接口的问题。引用[1]提到了使用Vue和Axios发送异步请求,但用户可能对前端框架不熟悉。引用[4]提到用户可能用JSP+Servlet,所以可能需要给出两种方案:一种是基于JSP的表单提交,另一种是使用Axios的异步调用。不过根据用户的问题,更倾向于示例代码,可能用简单的HTML和JavaScript结合Ajax,或者JSP。 另外,引用[3]涉及请求转发到HTML,可能需要配置视图解析器,但用户的问题更关注接口调用,所以重点应放在REST接口上,而不是页面转发。此外,引用[5]提到了实体类,所以需要创建Student实体类,并在Controller中返回JSON数据,这里需要配置Spring的消息转换器,比如Jackson。 需要注意的步骤包括:项目结构搭建、依赖配置、后端接口开发、前端调用方式。可能遇到的问题包括跨域请求,但如果在同一个项目中,可能不需要处理跨域。另外,数据格式需要前后端一致,比如使用JSON。 现在需要整理这些步骤,分模块说明,确保代码示例正确,并符合Maven项目结构。同时,生成的相关问题需要围绕前后端交互、参数递、项目配置等方面。</think>### Maven构建前后端交互项目示例(查询学生信息) #### 一、项目结构搭建 1. 创建Maven项目 ```xml <!-- pom.xml核心依赖 --> <dependencies> <!-- Spring MVC --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.23</version> </dependency> <!-- Servlet API --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency> <!-- JSON转换 --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.13.4</version> </dependency> </dependencies> ``` #### 二、后端接口开发 1. 创建学生实体类 ```java // src/main/java/com/example/entity/Student.java public class Student { private Integer id; private String name; // 构造方法/getters/setters省略 } ``` 2. 编写控制器(模拟数据) ```java // src/main/java/com/example/controller/StudentController.java @RestController @RequestMapping("/api") public class StudentController { private static Map<Integer, Student> data = new HashMap<>(); static { data.put(1, new Student(1, "张三")); data.put(2, new Student(2, "李四")); } @GetMapping("/student/{id}") public Student getStudent(@PathVariable Integer id) { return data.get(id); } } ``` 3. 配置web.xml ```xml <!-- src/main/webapp/WEB-INF/web.xml --> <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/spring-mvc.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> ``` #### 三、前端调用示例 1. JSP页面调用方式 ```jsp <!-- src/main/webapp/search.jsp --> <form id="searchForm"> <input type="text" name="studentId" placeholder="输入学生ID"> <button type="button" onclick="searchStudent()">查询</button> </form> <div id="result"></div> <script> function searchStudent() { const studentId = document.querySelector("input[name=&#39;studentId&#39;]").value; fetch(`/api/student/${studentId}`) .then(response => response.json()) .then(data => { document.getElementById("result").innerHTML = `学生ID: ${data.id}<br>姓名: ${data.name}`; }); } </script> ``` 2. Vue+Axios调用方式(需引入vue.js和axios.js) ```html <div id="app"> <input v-model="studentId" placeholder="输入学生ID"> <button @click="getInfo">查询</button> <div v-if="student"> <p>ID: {{ student.id }}</p> <p>姓名: {{ student.name }}</p> </div> </div> <script> new Vue({ el: &#39;#app&#39;, data: { studentId: &#39;&#39;, student: null }, methods: { getInfo() { axios.get(`/api/student/${this.studentId}`) .then(response => { this.student = response.data; }) } } }) </script> ``` #### 四、关键配置说明 1. 需要配置Spring MVC的JSON支持: ```xml <!-- src/main/webapp/WEB-INF/spring-mvc.xml --> <mvc:annotation-driven> <mvc:message-converters> <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/> </mvc:message-converters> </mvc:annotation-driven> ``` 2. 项目部署建议使用Tomcat 9+版本,访问路径为: $$http://localhost:8080/项目名/search.jsp$$ [^1]:SSMP整合案例交互之在idea中利用vue和axios发送异步请求进行前后端调用 [^2]:Spring MVC+Maven 实现同一项目的前端和后台交互
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值