使用javaee利用spring-mvc注解方式创建一个网站,以自己的姓名字母拼音,输入请求字符串,在页面出自己的相关信息,这些信息要从controller带到页面上(好像是从数据库里读出来的一样,提示:session技术),而不是页面中内置的信息,比如:姓名、学号、班级等信息。
时间: 2024-12-22 17:30:24 浏览: 16
在Java EE环境中,利用Spring MVC和注解方式创建一个动态显示个人信息的网站,你需要按照以下步骤操作:
1. **项目设置**:
- 创建一个新的Spring MVC项目,可以选择Maven或Gradle作为构建工具。
- 添加Spring Web、Spring Data JPA等相关依赖。
2. **模型层(Model)**:
- 定义一个User实体类,表示用户信息,例如`User.java`:
```java
@Entity
public class User {
private String namePinyin;
private String id;
private String className; // 班级信息
// getters and setters...
}
```
- 使用JPA进行数据持久化,配置Repository接口。
3. **控制器(Controller)**:
- 使用@Controller注解创建一个Controller,如`UserController.java`:
```java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
public class UserController {
@Autowired
private UserRepository userRepository;
@GetMapping("/personalInfo")
public String getUserInfo(@RequestParam("name") String namePinyin, Model model) {
User user = userRepository.findByNamePinyin(namePinyin);
if (user != null) {
model.addAttribute("userInfo", user);
} else {
model.addAttribute("error", "User not found");
}
return "personalInfo"; // 返回视图名称
}
}
```
- 这里通过`@RequestParam`获取前端传入的姓名拼音,然后查询数据库并把结果放入Model供视图渲染。
4. **视图(View)**:
- 创建一个名为`personalInfo.jsp`或`.html`的JSP页面,用于展示用户信息:
```jsp
<c:if test="${not error}">
<p>姓名:${userInfo.name}</p>
<p>学号:${userInfo.id}</p>
<p>班级:${userInfo.className}</p>
</c:if>
<c:if test="${error}">${error}</c:if>
```
使用JSTL条件标签`<c:if>`判断是否找到了用户,如果存在则显示个人信息,否则显示错误消息。
5. **Session管理**:
- 如果需要在多个页面间保持用户的登录状态,可以使用Spring Security的会话管理功能,结合HttpSession来存储用户对象。
6. **启动应用和测试**:
- 配置好Web.xml或Spring Boot的application.properties文件后,运行项目,访问`http://localhost:8080/personalInfo?name=您的名字拼音`查看结果。
阅读全文