文档章节

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...

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

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

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

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

张杰东
2018/07/17
0
0
SpringCloud微服务云架构构建B2B2C电子商务平台之- (七)高可用的分布式配置中心(Spring Cloud Config)

讲述了一个服务如何从配置中心读取文件,配置中心如何从远程git读取配置文件,当服务实例很多时,都从配置中心读取文件,这时可以考虑将配置中心做成一个微服务,将其集群化,从而达到高可用...

itcloud
2018/12/07
0
0
PHP 快速创建 Web 应用的 DSL - Pinatra

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

JohnLui
2018/09/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Jmeter参数的AES加密使用

在Jmeter日常实践中,大家应该都遇到过接口传参需要加密的情况。以登陆为例,用户名和密码一般都需要进行加密传输,在服务端再进行解密,这样安全系数会更高,但在使用jmeter进行接口测试的时...

程序猿拿Q
15分钟前
0
0
MYSQL 日期函数 Date and Time Functions

Table 12.13 Date and Time Functions Name Description ADDDATE() Add time values (intervals) to a date value ADDTIME() Add time CONVERT_TZ() Convert from one time zone to another ......

_liucui_
22分钟前
0
0
Android代码混淆ProGuard工作原理简介

ProGuard能够对Java类中的代码进行压缩(Shrink),优化(Optimize),混淆(Obfuscate),预检(Preveirfy)。    1. 压缩(Shrink): 在压缩处理这一步中,用于检测和删除没有使用的类,字段...

SuShine
24分钟前
0
0
Idea 2018激活

教程地址: https://www.52pojie.cn/thread-781394-1-1.html 亲测可用

一个不正经的程序员
30分钟前
0
0
Android组件化开发实践和案例分享

目录介绍 1.为什么要组件化 1.1 为什么要组件化 1.2 现阶段遇到的问题 2.组件化的概念 2.1 什么是组件化 2.2 区分模块化与组件化 2.3 组件化优势好处 2.4 区分组件化和插件化 2.5 applicatio...

潇湘剑雨
30分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部