文档章节

jhello框架-起步

大嘴吃鸡腿
 大嘴吃鸡腿
发布于 2014/06/24 22:11
字数 569
阅读 40
收藏 0
点赞 0
评论 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

© 著作权归作者所有

共有 人打赏支持
大嘴吃鸡腿
粉丝 10
博文 13
码字总数 7700
作品 0
厦门
程序员
月薪20k以上的测试程序员需要学习哪些技术呢?

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

Java高级架构
2017/12/27
0
0
PHP级Web应用防护框架--WAFPHP

WAFPHP 项目的灵感来自于 SEnginx,由于在使用SEnginx的过程中发现有很多的不可控因素,而且对于小项目而言不希望因为开启某些功能而导致nginx负载过高影响其他核心项目,而且nginx的配置改动...

ZoaChou
2015/10/26
952
0
动手写框架

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

chworld
2016/01/06
107
0
X5跨端移动开发框架开源项目简介[oschina首发托管]

一、X5是什么 X5是跨端移动快速开发框架;只需一次开发,即可发布、运行于各种前端平台上;支持iOS ipa、android apk、微信服务号/企业号应用、web app和其他轻应用的快速开发。 二、X5采用的...

WeX5移动开发云
2015/01/15
0
7
WeX5开源前端/WeX5

WeX5跨端移动开发框架开源项目简介 一、WeX5是什么 WeX5是H5 App开发工具,开源免费,极速秒开;只需一次开发,即可发布、运行于各种前端平台上;支持iOS ipa、android apk、微信服务号/企业...

WeX5开源前端
2015/01/14
0
0
oschina唯一托管并首发跨端开发大杀器,看不看由你!!!

上周在OSChina上唯一托管并首发的大杀器,强烈推荐。 能力比市场上同类收费工具强很多,技术很优雅很开放,采用Apache v2.0许可证开源模式,诚意打满分! 一、X5是什么 X5是跨端移动快速开发...

就在刹那间
2015/01/20
6.6K
30
Android 应用开发工具--ignition

ignition 通过提供即用组件和包含许多样板文件的实用类,可以让你的 Android 应用快速起步。ignition 涵盖的区域包括: Widget、Adapter、Dialog 等 UI 组件; 允许编写简单却强大的网络代码...

孔小菜
2015/03/16
738
0
spring boot(1)入门

1 简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置...

刘胜球
2017/10/25
0
0
可扩展 MySQL 服务--Mysos

Mysos 是一个 Apache Mesos 框架,用来运行 MySQL 实例! Twitter 为了提高 MySQL 集群的可扩展性,他们正在开发一个名为Mysos的新框架。Mysos项目基于Apache Mesos构建一个面向MySQL的可扩展...

小编辑
2015/04/29
3.8K
2
Node.js 0.4.6 发布

Node.js 现在在起步阶段,更新比较频繁,下载地址:node-v0.4.6.tar.gz 改进记录请看 Changelog,不包含 0.4.6 版本的。 Node.js是一套用来编写高性能网络服务器的JavaScript工具包,一系列的...

红薯
2011/04/17
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

expect(spawn) 自动化git提交和scp拷贝---centos(linux)

**在进行SCP文件拷贝中,往往需要进行用户密码的输入,即用户交互。若采用自动化脚本的方式进行,则可用以下方式: ** #!/usr/bin/expect #设置参数 set src [lindex $argv 0] set dest [lin...

helplove
1分钟前
0
0
用Build来构建对象的写法

如果一个类的属性过多,用构造器来构建对象很难写,因此我们时用Build方式来构建对象。写法大致如下。 import java.io.Serializable;import java.util.Date;public class Log impleme...

算法之名
4分钟前
0
0
利用 acme.sh 获取网站证书并配置https访问

acme.sh 实现了 acme 协议, 可以从 letsencrypt 生成免费的证书.(https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E) 主要步骤: 安装 acme.sh 生成证书 copy 证书到 nginx/ap...

haoyuehong
17分钟前
2
0
微擎框架内如何根据media_id获取到微信图片的路径

微擎的框架内,图片选择后,获取的是那个字符串是media_id,相当于你这张图片在微信的图片服务器里面的id 要求是:获取https://mmbiz.qpic.cn/mmbiz_jpg/…… 微信图片的路径 而微信并没有根据m...

老bia同学
21分钟前
1
0
Spring boot中日期的json格式化

Model 在model层中,类的日期属性上面添加如下注解: @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd hh:mm:ss") 参考 Jackson Date格式化教程...

亚林瓜子
22分钟前
2
0
Eclipse:Failed to load the JNI shared library

1.问题背景: 由于我之前使用jdk1.9学习,当使用Luke的时候发现jdk版本过高,需要向下配置jdk,就向朋友拷了一个安装包。重新配置路径后,便开始报错。 2.问题描述: Failed to load the JNI...

tinder_boy
25分钟前
0
0
少儿学习编程课程是否真的适合七八岁的低龄儿童[图]

少儿学习编程课程是否真的适合七八岁的低龄儿童[图]: 天下熙熙皆为利来,天下攘攘皆为利往。 这几年来,乐高教育机构在国内如同雨后春笋般出现,当然关闭/转手的也很多。从教师角度来看,部...

原创小博客
30分钟前
1
0
ES12-词项查询

1.词项查询介绍 全文查询将在执行之前分析查询字符串,但词项级别查询将按照存储在倒排索引中的词项进行精确操作。这些查询通常用于数字,日期和枚举等结构化数据,而不是全文本字段。 或者,...

贾峰uk
38分钟前
2
0
http状态码与ajax的状态值

ajax状态值 1.1 200 & OK:状态请求成功

litCabbage
41分钟前
1
0
iOS动画效果合集、飞吧企鹅游戏、换肤方案、画板、文字效果等源码

iOS精选源码 动画知识运用及常见动画效果收集 3D卡片拖拽卡片叠加卡片 iFIERO - FLYING PENGUIN 飞吧企鹅SpriteKit游戏(源码) Swift封装的空数据提醒界面EmptyView 沙盒文件浏览与分享调试控...

sunnyaigd
45分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部