论坛首页 Java企业应用论坛

造了个轮子,更新2.0版了:-),firefly一站式java web框架

浏览 14418 次
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-10-31   最后修改:2012-10-31
额 解决了
0 请登录后投票
   发表时间:2012-11-01  
国产开源项目,这个必须支持下
0 请登录后投票
   发表时间:2012-11-01  
你该不会又是robin的干将吧?
0 请登录后投票
   发表时间:2012-11-01  
看来国产的开源项目是越来越有技术含量了,其实也没有必要完全去模仿ssh,作出自己的特色,并保持自己的特色很重要。实用,开发效率高,执行效率高,轻,小,简单 个人认为这个才是 一个框架的灵魂。
0 请登录后投票
   发表时间:2012-11-01  
yanlei 写道
你该不会又是robin的干将吧?

我不是的哟,呵呵
0 请登录后投票
   发表时间:2012-11-01   最后修改:2012-11-01
CshBBrain 写道
看来国产的开源项目是越来越有技术含量了,其实也没有必要完全去模仿ssh,作出自己的特色,并保持自己的特色很重要。实用,开发效率高,执行效率高,轻,小,简单 个人认为这个才是 一个框架的灵魂。


嗯,SSH的思想非常棒值得我们学习,但是SSH使用复杂,整合SSH再到部署服务器整个流程非常繁琐,而且代码实现不佳,所以自己要造出更好的轮子取其精华,不用繁琐的整合与部署,直接一个main函数就可以运行,扔掉SSH那些沉重的东西!
0 请登录后投票
   发表时间:2012-11-01  
试了一下,貌似有点小问题。

这个报404:
@RequestMapping(value = "/hello")
public View index(HttpServletRequest request) {
request.setAttribute("hello", "你好 firefly!");
return new JspView("/index.jsp");
}

这个正常:
@RequestMapping(value = "/hello/template")
public View template(HttpServletRequest request) {
request.setAttribute("hello", "你好 firefly!");
return new TemplateView("/index.html");
}
0 请登录后投票
   发表时间:2012-11-01   最后修改:2012-11-01
goldenfish1919 写道
试了一下,貌似有点小问题。

这个报404:
@RequestMapping(value = "/hello")
public View index(HttpServletRequest request) {
request.setAttribute("hello", "你好 firefly!");
return new JspView("/index.jsp");
}

这个正常:
@RequestMapping(value = "/hello/template")
public View template(HttpServletRequest request) {
request.setAttribute("hello", "你好 firefly!");
return new TemplateView("/index.html");
}

JspView必须在tomcat之类的容器运行才能支持,如果是自带的http server不支持jsp。

另外,如果在tomcat里运行firefly mvc框架,需要加上web.xml里面配置的servlet路径访问,比如web.xml这样配置:
<servlet>
        <servlet-name>fireflyMVC</servlet-name>
        <servlet-class>com.firefly.mvc.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
        <servlet-name>fireflyMVC</servlet-name>
        <url-pattern>/f/*</url-pattern>
</servlet-mapping>


那么 @RequestMapping(value = "/hello") 的实际访问路径是  http://Host:port/f/hello
0 请登录后投票
   发表时间:2012-11-01  
web.xml:
<servlet>
        <servlet-name>fireflyMVC</servlet-name>
        <servlet-class>com.firefly.mvc.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
        <servlet-name>fireflyMVC</servlet-name>
        <url-pattern>/*</url-pattern>
</servlet-mapping>
JspView里面:
public void render(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String ret = VIEW_PATH + page;
request.getRequestDispatcher(ret).forward(request, response);
}
执行完以后,再次执行了HttpServletDispatcherController.dispatcher()
0 请登录后投票
   发表时间:2012-11-01   最后修改:2012-11-01
goldenfish1919 写道
web.xml:
<servlet>
        <servlet-name>fireflyMVC</servlet-name>
        <servlet-class>com.firefly.mvc.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
        <servlet-name>fireflyMVC</servlet-name>
        <url-pattern>/*</url-pattern>
</servlet-mapping>
JspView里面:
public void render(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String ret = VIEW_PATH + page;
request.getRequestDispatcher(ret).forward(request, response);
}
执行完以后,再次执行了HttpServletDispatcherController.dispatcher()


在tomcat等java ee环境中不能直接定义/*这样的路径的,改成/xx/* 试试看?
另外jsp要放在 firefly.xml中定义的view-path文件夹下,比如firefly.xml这样定义:
<component-scan base-package="com.test"/>
<mvc view-path="/WEB-INF/template" view-encoding="UTF-8"/>


那么jsp要放在/WEB-INF/template目录:-)
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics