【发布时间】:2017-09-04 13:42:15
【问题描述】:
这是文件夹结构
这是控制器部分,我可以点击
import org.springframework.web.servlet.ModelAndView;
@Controller
@RequestMapping
public class ControllerClass
{
static Logger log = Logger.getLogger(ControllerClass.class.getName());
@RequestMapping(value = "/")
public ModelAndView callRequest()
{
String message = "HELLO SPRING MVC";
return new ModelAndView("index", "message", message);
}
}
这是我的 servlet 部分
<context:component-scan base-package="com.java.learn.controller" />
<mvc:annotation-driven />
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/" />
<property name="suffix" value=".html" />
</bean>
这是我的 web.xml
<servlet>
<servlet-name>Learn</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Learn</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
我尝试将 url 模式添加为 * 但我无法点击控制器。 同样在 servlet 部分中,当我将 index.html 移动到 webapps 文件夹中时,我删除了 web-inf/jsp。
使用此代码,我可以点击控制器,但是当我将视图作为“索引”返回时,视图没有被渲染。
【问题讨论】:
-
你是否添加了spring的配置来扫描你的控制器所在的包?检查此link,然后在您的项目中重复该教程。
-
是的,我已经添加了它,我可以用这个代码点击控制器..
-
用什么打?请更清楚一点,您在 servlet url 模式中使用
/*是否有问题?什么有效,什么无效? -
我可以用上面的代码点击控制器,但是之后 index.html 没有渲染
-
你的代码看起来不错,怎么没有渲染?您是否收到错误消息或空的 html 页面?查看页面的源代码,是不是你的
index.html?
标签: java spring jsp spring-mvc servlets