- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个 JAVA Restful Web 应用程序。早些时候,所有功能都正常工作。但现在我面临一个错误,说
'HTTP 状态 400 – 错误请求类型状态报告
描述 由于被认为是客户端错误(例如格式错误的请求语法、无效的请求消息帧或欺骗性请求路由),服务器无法或不会处理请求。
Apache Tomcat/8.5.31'
我无法弄清楚我的代码出了什么问题...寻求帮助谢谢!
//////这是我的模块类 - (Student.java)
package com.joseph.model;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class Student {
@Id
@Column
@GeneratedValue(strategy=GenerationType.AUTO) //for autonumber
private int studentId;
@Column
private String firstname;
@Column
private String lastname;
@Column
private int yearLevel;
public Student(){}
public Student(int studentId, String firstname, String lastname,
int yearLevel) {
super();
this.studentId = studentId;
this.firstname = firstname;
this.lastname = lastname;
this.yearLevel = yearLevel;
}
public int getStudentId() {
return studentId;
}
public void setStudentId(int studentId) {
this.studentId = studentId;
}
public String getFirstname() {
return firstname;
}
public void setFirstname(String firstname) {
this.firstname = firstname;
}
public String getLastname() {
return lastname;
}
public void setLastname(String lastname) {
this.lastname = lastname;
}
public int getYearLevel() {
return yearLevel;
}
public void setYearLevel(int yearLevel) {
this.yearLevel = yearLevel;
}
}
//////DAO 类 (StudentDao.java)
package com.joseph.dao;
import java.util.List;
import com.joseph.model.Student;
public interface StudentDao {
public void add(Student student);
public void edit(Student student);
public void delete(int studentId);
public Student getStudent(int studentId);
public List getAllStudent();
public List searchStudent(String srch);
}
////DAO实现类(StudentDaoImpl.java)
package com.joseph.dao.impl;
import java.util.List;
import javax.sql.DataSource;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
import com.joseph.dao.StudentDao;
import com.joseph.model.Student;
@Repository
public class StudentDaoImpl implements StudentDao {
JdbcTemplate template;
@Autowired
private SessionFactory session;
@Autowired
public void setDatsSource(DataSource dataSource) {
template = new JdbcTemplate(dataSource);
}
@Override
public void add(Student student) {
//session.getCurrentSession().save(student);
String sql = "insert into student(firstname, lastname, yearLevel) values ('"+student.getFirstname()+"', '"+student.getLastname()+"', '"+student.getYearLevel()+"')";
template.update(sql);
}
@Override
public void edit(Student student) {
String sql = "update student set firstname = '"+student.getFirstname()+"', lastname = '"+student.getLastname()+"', yearLevel = '"+student.getYearLevel()+"' where studentId = '"+student.getStudentId()+"'";
template.update(sql);
//session.getCurrentSession().update(student);
}
@Override
public void delete(int studentId) {
String sql = "delete from student where studentId = '"+studentId+"'";
String sql2 = "select count(*) from student";
template.update(sql);
int cnt = template.queryForObject(sql2, Integer.class);
System.out.println(cnt);
}
@Override
public Student getStudent(int studentId) {
return (Student)session.getCurrentSession().get(Student.class, studentId);
}
@Override
public List getAllStudent() {
String sql = "select * from student";
return template.queryForList(sql);
}
@Override
public List searchStudent(String stdID) {
String srch = "%" + stdID + "%";
String sql = "select * from student where studentId like '"+srch+"' OR firstname like '"+srch+"'";
return template.queryForList(sql);
}
}
////学生服务(StudentService.java)
package com.joseph.service;
import java.util.List;
import com.joseph.model.Student;
public interface StudentService {
public void add(Student student);
public void edit(Student student);
public void delete(int studentId);
public Student getStudent(int studentId);
public List getAllStudent();
public List searchStudent(String srch);
}
////学生服务实现(StudentServiceImpl.java) 包 com.joseph.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.joseph.dao.StudentDao;
import com.joseph.model.Student;
import com.joseph.service.StudentService;
@Service
public class StudentServiceImpl implements StudentService {
@Autowired
private StudentDao studentDao;
@Transactional
public void add(Student student) {
studentDao.add(student);
}
@Transactional
public void edit(Student student) {
studentDao.edit(student);
}
@Transactional
public void delete(int studentId) {
studentDao.delete(studentId);
}
@Transactional
public Student getStudent(int studentId) {
return studentDao.getStudent(studentId);
}
@Transactional
public List getAllStudent() {
return studentDao.getAllStudent();
}
@Transactional
public List searchStudent(String srch) {
return studentDao.searchStudent(srch);
}
}
// Controller 类/////
package com.joseph.controller;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import com.joseph.model.Student;
import com.joseph.service.StudentService;
@Controller
public class StudentController {
@Autowired
private StudentService studentService;
@RequestMapping("/index")
public String setupForm(Map<String, Object> map){
Student student = new Student();
map.put("student", student);
map.put("studentList", studentService.getAllStudent());
return "student";
}
@RequestMapping(value="/student.do", method=RequestMethod.POST)
public String doActions(@ModelAttribute Student student, BindingResult result, @RequestParam String action, @RequestParam String searchVal, Map<String, Object> map){
Student studentResult = new Student();
String opr = action.toLowerCase();
if(opr.equals("add")) {
studentService.add(student);
studentResult = student;
map.put("student", studentResult);
map.put("studentList", studentService.getAllStudent());
return "student";
}
else if(opr.equals("edit")) {
studentService.edit(student);
studentResult = student;
map.put("student", studentResult);
map.put("studentList", studentService.getAllStudent());
return "student";
}
else if(opr.equals("delete")) {
studentService.delete(student.getStudentId());
studentResult = new Student();
map.put("student", studentResult);
map.put("studentList", studentService.getAllStudent());
return "student";
}
else if(opr.equals("load")) {
Student searchedStudent = studentService.getStudent(student.getStudentId());
studentResult = searchedStudent!=null ? searchedStudent : new Student();
map.put("student", studentResult);
return "studentEdit";
}
else if(opr.equals("search")) {
System.out.println(searchVal);
map.put("student", studentResult);
map.put("studentList", studentService.searchStudent(searchVal));
return "student";
}
else {
map.put("student", studentResult);
map.put("studentList", studentService.getAllStudent());
return "student";
}
}
}
//JSP 表单 - Student.jsp///
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ include file="/WEB-INF/jsp/includes.jsp"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Student Management</title>
</head>
<body>
<h1>Students Data</h1>
<form:form action="student.do" method="POST" commandName="student">
<table>
<tr>
<td><input type="text" name="searchVal" /></td>
<td><input type="submit" name="action" value="Search" /></td>
</tr>
<tr>
<td>First name</td>
<td><form:input type="text" path="firstname" /></td>
</tr>
<tr>
<td>Last name</td>
<td><form:input type="text" path="lastname" /></td>
</tr>
<tr>
<td>Year Level</td>
<td><form:input type="text" path="yearLevel" /></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="action" value="Add" />
</td>
</tr>
</table>
</form:form>
<br>
<table border="1">
<th>ID</th>
<th>First name</th>
<th>Last name</th>
<th>Year level</th>
<c:forEach items="${studentList}" var="student">
<tr>
<td>${student.studentId}</td>
<td>${student.firstname}</td>
<td>${student.lastname}</td>
<td>${student.yearLevel}</td>
<form:form action="student.do" method="POST" commandName="student">
<form:input path="studentId" value="${student.studentId}" hidden="hidden"/>
<td><input type="submit" name="action" value="Load" /></td>
<td><input type="submit" name="action" value="Delete" /></td>
</form:form>
</tr>
</c:forEach>
</table>
</body>
</html>
最佳答案
@Controller 用于将类标记为 Spring MVC Controller,它将响应 View
@RestController 用于 Restful API。它是一个方便的注释,其中包括@Controller和@ResponseBody注释
@Controller // please try to update this line.
public class StudentController {
...
}
更改为
@RestController
public class StudentController {
...
}
关于java - HTTP 状态 400 错误请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55831270/
我正在通读 Windows Phone 7.5 Unleashed,有很多代码看起来像这样(在页面的代码隐藏中): bool loaded; protected override void OnNav
在cgi服务器中,我这样返回 print ('Status: 201 Created') print ('Content-Type: text/html') print ('Location: htt
我正在查看 esh(easy shell)的实现,无法理解在这种情况下什么是 22 和 9 信号。理想情况下,有一个更具描述性的常量,但我找不到列表。 最佳答案 信号列表及其编号(包括您看到的这两个)
我的Oozie Hive Action 永远处于运行模式。 oozie.log文件中没有显示错误。
我正在编写一个使用 RFCOMM 通过蓝牙连接到设备的 Android 应用程序。我使用 BluetoothChat 示例作为建立连接的基础,大部分时间一切正常。 但是,有时由于出现套接字已打开的消息
我有一个云调度程序作业,它应该每小时访问我的 API 以更新一些价格。这些作业大约需要 80 秒才能运行。 这是它的作用: POST https://www.example.com/api/jobs/
我正在 Tomcat 上访问一个简单的 JSP 页面: 但是当我使用 curl 测试此页面时,我得到了 200 响应代码而不是预期的 202: $ curl -i "http://localhos
有时 JAR-RS 客户端会发送错误的语法请求正文。服务器应响应 HTTP status 400 (Bad Request) , 但它以 HTTP status 500 (Internal Serve
我正在尝试通过 response.send() 发送一个整数,但我不断收到此错误 express deprecated res.send(status): Use res.sendStatus(sta
我已经用 Excel 和 Java 做过很多次了……这次我需要用 Stata 来做,因为保存变量更方便'labels .如何将 dataset_1 重组为下面的 dataset_2? 我需要转换以下
我正在创建一个应用程序,其中的对象具有状态查找功能。为了提供一些上下文,让我们使用以下示例。 帮助台应用程序,其中创建作业并通过以下工作流程移动: 新 - 工作已创建但未分配 进行中 - 分配给工作人
我想在 Keras 中运行 LSTM 并获得输出和状态。在 TF 中有这样的事情 with tf.variable_scope("RNN"): for time_step in range
有谁知道 Scala-GWT 的当前状态 项目? 那里的主要作者 Grzegorz Kossakowski 似乎退出了这个项目,在 Spring 中从事 scalac 的工作。 但是,在 interv
我正在尝试编写一个 super 简单的 applescript 来启动 OneDrive App , 或确保打开,当机器的电源设置为插入时,将退出,或确保关闭,当电源设置为电池时。 我无法找到如何访问
目前我正在做这样的事情 link.on('click', function () { if (link.attr('href') !== $route.current.originalPath
是否可以仅通过查看用户代理来检测浏览器上是否启用/禁用 Javascript。 如果是,我应该寻找什么。如果否,检测用户浏览器是否启用/禁用 JavaScript 的最佳方法是什么 最佳答案 不,没有
Spring 和 OSGi 目前的开发状况如何? 最近好像有点安静了。 文档的最新版本 ( http://docs.spring.io/osgi/ ) 来自 2009 年。 我看到一些声明 Sprin
我正在从主函数为此类创建一个线程,但即使使用 Thread.currentThread().interrupt() 中断它,输出仍然包含“Still Here”行。 public class Writ
为了满足并发要求,我想知道如何在 Godog 中的多个步骤之间传递参数或状态。 func FeatureContext(s *godog.Suite) { // This step is ca
我有一个UIButton子类,它不使用UIImage背景,仅使用背景色。我注意到的一件事是,当您设置按钮的背景图像时,有一个默认的突出显示状态,当按下按钮时,该按钮会稍微变暗。 这是我当前的代码。
我是一名优秀的程序员,十分优秀!