文档章节

jhello框架-起步

大嘴吃鸡腿
 大嘴吃鸡腿
发布于 2014/06/24 22:11
字数 569
阅读 40
收藏 0

本篇博文讲述的是jhello的使用方法:

1.配置文件

配置文件主要有三个:

1)web.xml

需要在工程的web.xml中加入前端控制器

  <servlet>  
      <servlet-name>dispatch</servlet-name>  
      <servlet-class>com.jhello.core.controller.DispatchController</servlet-class>
  </servlet>
  <servlet-mapping>  
      <servlet-name>dispatch</servlet-name>  
      <url-pattern>/</url-pattern>
  </servlet-mapping>

这里需要说明的是url-pattern不能使用/*,这样在jsp跳转的时候会被拦截,从而走不到servlet容器那编译成servlet。

2)配置文件config.properties

里面必要的就两个配置项

web.action_scan_packages=com.demo.controller  
web.aspect_scan_packages=com.demo.aspect

从名字可以看出来,web.action_scan_packages是用来配置扫描controller类的路径,支持递推扫描,比如com.demo.controller.user

web.aspect_scan_packages用来配置aop类的扫描路径。

其他的非必要配置将在后面需要的时候讲到

3)log4j日志文件配置

想必这个大家都很熟了,照顾一下真没用过log4j的童鞋,我这里在博文尾部贴个样例就好了。

2.编写controller类

在刚刚的com.demo.controller目录下建立一个类,就叫HomeController

在类名上添加上一个注解@Controller,表明一下身份,这就是一个基本的controller类了

@Controller
public class HomeController {
    
}

接下来添加url路由

在HomeController类中添加一个方法index,无参数,返回值为String,在其之上添加@At声明

@Controllerpublic class HomeController {

    @At("/")
    public String index(){
        return "view:index.jsp";
    }
}

@At中的参数是url,如果想要网站已打开就访问到index方法,写入“/”就够了。注意,整个工程只能有一个“/”入口!

在index方法中我们返回了一个字符串 view:index.jsp,这里的view是一个命令,其结果是查找web-inf/view/index.jsp的文件,如果配置view:admin/index.jsp,页面对应web-inf/view/admin/index.jsp(注意:字符串中的view是命令,和文件夹名view没关系,虽然我定义了jsp文件必须在view文件夹下)

3.编写jsp文件

在jhello中默认的jsp文件放置路径是在web-inf/view/,可以在配置文件中配置,比如web.page_folder_path=jsp,对应页面在web-inf/jsp/中

本例子中,在view文件夹中放置index.jsp

接下来运行工程,默认打开就是index方法,展现的就是index.jsp,简单吧。

image

&#160;

附:log4j.properties

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}][%5p]  %c{1}:%L - %m%n
log4j.rootLogger=DEBUG, stdout

© 著作权归作者所有

共有 人打赏支持
上一篇: jhello框架-交互
下一篇: jhello框架-起源
大嘴吃鸡腿
粉丝 10
博文 13
码字总数 7700
作品 0
厦门
程序员
私信 提问
[译] Java、Kotlin、RN、Flutter 开发出来的 App 大小,你了解过吗?

现在开发 App 的方式非常多,原生、ReactNative、Flutter 都是不错的选择。那你有没有关注过,使用不同的方式,编译生成的 Apk ,大小是否会有什么影响呢?本文就以一个最简单的 Hello Worl...

承香墨影
10/29
0
0
月薪20k以上的测试程序员需要学习哪些技术呢?

课程内容: Linux学习、监控、Web架构、Mysql数据库、抓包工具Fiddler、发包工具Jmeter、自动化测试框架、项目综合实战、性能测试、安全测试、职业规划指导。 适用对象: 1-5年或更长软件测试...

Java高级架构
2017/12/27
0
0
用Wex5实现部分移动端页面效果

根据设计原型采用起步科技Wex5开发框架完成静态前端页面开发。 详细的需求在附件中,都是做成html5的静态页面,但是必须用wex5的框架

张杰东
07/17
0
0
PHP 快速创建 Web 应用的 DSL - Pinatra

Pinatra 是 PHP 版本的 Sinatra,极其轻量优雅的 Web 领域专用语言(框架),是一个用于以最少的工作量在 PHP 中快速创建 Web 应用程序的 DSL(领域专属语言)。 Pinatra 是第一个做到真正 ha...

JohnLui
09/18
0
0
动手写框架

从这里起步 http://blog.csdn.net/cndes/article/details/46368633

chworld
2016/01/06
107
0

没有更多内容

加载失败,请刷新页面

加载更多

AI赋能一键自动检测:页面异常、控件异常、文本异常

摘要: 1.前言 闲鱼质量团队一直致力于交付高质量的app给用户,当前随着AI技术不断发展,TensorFlow大热,也给测试手段带来了更多种可能,本文接下来给大家介绍AI在闲鱼测试的一点实践:如何...

阿里云官方博客
12分钟前
0
0
Microsoft Remote Desktop For Mac

地址:https://rink.hockeyapp.net/apps/5e0c144289a51fca2d3bfa39ce7f2b06/ 解决国内App store不能下载的问题。

Cheuker
23分钟前
0
0
原地打印刷新(倒计时)

原地打印刷新(倒计时) 代码如下 from time import sleepfor i in reversed(range(1, 11)): print("\r倒计时:{}秒".format(i), end="") sleep(1)...

_Change_
35分钟前
0
0
php,vue,vue-ssr 做出来的页面有什么区别?

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由shirishiyue发表于云+社区专栏 目前我这边的web页面,都是采用php+smarty模板生成的,是一种比较早期的开发模式。好处是没...

腾讯云加社区
41分钟前
1
0
安卓的切图规范

Android UI 切图命名规范、标注规范及单位描述 很多UI设计师做APP切图都会有两套,一套是Android的,一套是IOS的。IOS我这边暂不作讲解,因为我本人也不是开发IOS。这里整理一下我在Android...

mo311
46分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部