找不到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

回到顶部