找不到HTTP请求的映射
我回来在斯普林斯工作。我曾经在Springs工作,但盲目地了解得并不多。我曾经遇到过很多错误,非常基本的错误,而我又得到了它们。
我的问题是,我不知道如何配置Spring-MVC
工作。
当我从STS运行项目时会发生什么?
我正在STS的spring模板项目中工作。
我在运行项目时得到了这个。
WARN : org.springframework.web.servlet.PageNotFound - No mapping found for
HTTP request with URI [/common/] in DispatcherServlet with name 'appServlet'
我完全受够了,坏了。
刚休息两个月,我又回到了起跑线上。
我不想发布我的代码并使问题具体化。
我想要一个解释服务器执行spring项目的方式的答案。从运行应用程序(基本hello world应用程序)到显示主页。
这将对所有初学者有所帮助。
我尝试在网上搜索这样的解释,但没有得到任何适当的 ,但是有很多基本示例。这些样本很容易理解,但是并不能解释服务器的运行方式。
我正在寻找一个解释Springs概念的答案。从运行应用程序到显示主页。在此过程中会发生什么?服务器从哪里开始?如何进行?
回答:
这是最初servlet容器加载web.xml文件的流程。在web.xml中,我们将指定所有请求均由Spring FrontController
DispatcherServlet处理。我们通过添加以下代码来包含它
<servlet> <servlet-name>dispatcher</servlet-name>
<servletclass>org.springframework.web.servlet.DispatcherServlet</servletclass>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
在这里,它指示url请求是否为* .htm,由dispatcherServlet处理,然后由dispatcherServlet加载dispatcher-
servlet.xml进行处理。我们需要通过编写特定的url请求来提及到控制器的映射,例如
<bean name="/insert.htm" class="com.controller.MyController"></bean>
因此在bean中我们提到要对其进行请求,/insert.htm
它告诉servlet在所提到的类中进行查找。您需要在方法上方使用@RequestMapping的Annotation
@RequestMapping("/insert.htm")public ModelAndView insert(HttpServletRequest req,Student student)
{
String name=req.getParameter("name");
int id=Integer.parseInt(req.getParameter("id"));
student.setId(id);
return new ModelAndView("display","Student",student);//It returns a view named display with modelclass name as `Student` and model object student
}
因此,当/insert.htm
出现一个请求URL时,它执行上述方法,它返回一个ModelAndView对象,只返回一个视图。它再次转到dispatcher-
servlet.xml并查找视图解析器,要添加的普通代码是
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/WEB-INF/jsp/"
p:suffix=".jsp" />
因此,它从中获取逻辑视图名称并在其后附加前缀和后缀。最后,它在视图中显示内容。因此,它在视图解析器前缀中查找显示并为后缀添加东西,最后返回/ WEB-INF
/ jsp / display.jsp。显示哪个jsp内容
以上是 找不到HTTP请求的映射 的全部内容, 来源链接: utcz.com/qa/420657.html