注;https://www.cnblogs.com/zhizhiyin/p/11063056.html

一、使用eclipse创建maven web项目

找到maven-archetype-webapp创建即可。web.xml是2.3的,按如下改成2.5。

1. 修改jre

在pom.xml中添加如下代码,项目右键maven Update Project

 <build><finalName>TestMaven3</finalName><plugins><!-- 修改maven默认的JRE编译版本,1.8代表JRE编译的版本,根据自己的安装版本选择1.7或1.8 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.8</source><target>1.8</target></configuration></plugin></plugins></build>

build path指定jre

2. web.xml修改为2.5

项目右击Properties 选择Project Facets(项目模板),如下图,可以看到Dynamic Web Module版本为 2.3

这里可以先把Dynamic Web Module勾选去掉,之后Apply。

再接着勾选Dynamic Web Module,注意下方出现Further configuration available...选项;接着更改为想要的版本 3.0,点击Further configuration available...

之后,修改 Content directorsrc/main/webapp,勾选Generate web.xml deployment descriptorOK,保存退出Project Facets

之后修改src/main/webapp/WEB-INF/web.xml文件,头信息版本修改为 2.5 (或3.0)版本的。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"version="2.5"></web-app>

之后,项目右击选择Maven Update Project

https://blog.csdn.net/qq_16313365/article/details/53783288

https://blog.csdn.net/Peng_Hong_fu/article/details/53584104

二、打包、部署

1. 修改 pom.xml 文件,其中的 packaging 标签值要改成 war

2. 将 jfinal-undertow 和 jetty-server 有关依赖全部删除,否则部署到 tomcat 中会产生冲突

3. 添加 servlet api 依赖

<dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version><scope>provided</scope>
</dependency>

这个依赖可以在打包出现提示时再添加,如果打包通过可以不用理会。

4. 控制台 cd 进入项目根目录执行下面命令打出 war 包

mvn clean package

5. 部署 直接将war包放到tomcat的webapp目录下即可访问

https://jfinal.com/doc/1-7

三、结合JFinal

1. 打开 pom.xml 文件,在其中添加如下依赖

 <dependency><groupId>com.jfinal</groupId><artifactId>jfinal-undertow</artifactId><version>2.5</version></dependency><dependency><groupId>com.jfinal</groupId><artifactId>jfinal</artifactId><version>4.9.11</version></dependency>

2. 在项目 src/main/java 目录下创建demo包,并在 demo 包下创建 DemoConfig 文件

https://jfinal.com/doc/1-2

根据需要建立Controller,可以直接绑定url

3. 在 DemoConfig 类文件上点击鼠标右键,选择 Debug As,再选择 Java Applidation 即可运行

四、添加日志功能

copy jar 包与配置文件

<!-- log4j 日志 -->
<dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version>
</dependency>

log4j.properties

# log4j.rootLogger=WARN, stdout, file
log4j.rootLogger=WARN, stdout, file
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%n%-d{yyyy-MM-dd HH:mm:ss}%n[%p]-[Thread: %t]-[%C.%M()]: %m%n# Output to the File
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.file.File=./log/word.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%n%-d{yyyy-MM-dd HH:mm:ss}%n[%p]-[Thread: %t]-[%C.%M()]: %m%n

https://jfinal.com/feedback/1187

https://blog.csdn.net/u013870094/article/details/79518028

五、添加jsp支持

     <!-- jsp支持 --><dependency><groupId>io.undertow.jastow</groupId><artifactId>jastow</artifactId><version>2.1.0.Final</version><exclusions><!-- 以下两个包跟jfinal-undertow依赖冲突 --><exclusion><groupId>io.undertow</groupId><artifactId>undertow-servlet</artifactId></exclusion><exclusion><groupId>org.jboss.logging</groupId><artifactId>jboss-logging</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.jboss.spec.javax.servlet.jsp</groupId><artifactId>jboss-jsp-api_2.3_spec</artifactId><version>2.0.0.Final</version></dependency>

直接访问 jsp 文件,还需要添加如下配置:

public void configConstant(Constants me) {me.setDenyAccessJsp(false);
}
 @SuppressWarnings("unchecked")public static void main(String[] args) {//UndertowServer.start(CommonConfig.class, 80, true);UndertowServer.create(CommonConfig.class).configWeb(wb ->{wb.getDeploymentInfo().addServlet(JspServletBuilder.createServlet("Default Jsp Servlet","*.jsp"));HashMap tagLibraryInfo=new HashMap<>();JspServletBuilder.setupDeployment(wb.getDeploymentInfo(),new HashMap(),tagLibraryInfo,new HackInstanceManager());}).start();}

注:https://jfinal.com/doc/1-5

https://jfinal.com/share/1890

java web maven 结构及从零创建jfinal项目相关推荐

  1. IntelliJ IDEA 创建 hello world Java web Maven项目从头到尾都有图有真相2017版本

    IntelliJ IDEA使用教程 (总目录篇) 学Java的大部分吧都是要整Java web开发项目的,那么最好用的编辑器估计就是这个 IntelliJ IDEA,然后现在maven管理项目是很流行 ...

  2. 使用IDEA2017创建java web +maven项目

    1.首先,提前准备的东西:我使用的是IDEA2017,tomcat7,jdk1.:请将这些软件安装完成,环境变量配置完成,如何配置以及安装我就不复述了,百度上一堆一堆的,比我知道的详细多了. 2.下面 ...

  3. Java Web程序结构

    简单的WEB程序结构 ----------------------------------------FIRST---------------------------------------- 认识简 ...

  4. java web创意_javaweb有什么能做的项目,最好比较有创意一点

    有创意的JavaWeb项目 java 本人自己以想好项目,先谁有ajaxfileupload.js插件实现无刷新上传文件的例子 ?其他方法也行 邮箱 liuzhiming15955441@qq. co ...

  5. 一、从零创建VUE项目

    假设你在创建VUE项目时对webpack和vue-loader有一些了解. 下面开始快速搭建属于你的VUE项目: $ npm install vue-cli -g   // 全局安装vue-cli $ ...

  6. [Java Web – Maven – 1A]maven 3.3.3 for windows 配置(转)

    1.环境 系统环境:windows 2008 R2 JDK VERSION: 1.7.0_10 2.下载地址 MAVEN 下载地址:http://maven.apache.org/download.c ...

  7. Java Web实战详细教程(十一)贯穿项目搭建+CSS修饰前端页面

    在上一篇文章中,我们使用了MVC架构完成了一个学生数据的信息开发,我们可以作为本系列的一个贯穿案例,进行后续的增删改查及关联关系的功能开发,以及涉及到Web前端技术.JSTL.监听器.过滤器等技术的学 ...

  8. JDK+JAVA+TOMCAT+MAVEN+IDEA的安装配置以及新建项目

    一:JDK 1.下载 这里下载的是jdk-7u80(即版本是jdk1.7),官网下载地址:http://www.oracle.com/technetwork/java/javase/downloads ...

  9. java web租车系统_JavaWeb在线租车服务系统项目源码(福利)

    软件名称:在线租车服务系统 软件版本:V2.1 编程语言:java 软件所属分类:汽车服务 软件授权:免费版 软件属性:国产应用软件 实用环境:推荐环境jdk1.7 (及以上)+mysql5.0(及以 ...

最新文章

  1. BIND 子域授权的实现和区域转发实现
  2. Android面试闯关——Activity(持续更新中)
  3. Atitit 插件机制原理与设计微内核 c# java 的实现attilax总结
  4. jboss 不适用内置日志_适用于孩子,父母和祖父母的JBoss HornetQ –第1章
  5. oracle同步恢复目录,Oracle创建恢复目录(catalog)
  6. preserve log什么意思_一些有意思的JavaScript代码片段
  7. Java SE、Java EE、Java ME三者的区别
  8. JEECG开源说明:JEECG 完全开源,不收任何费用,可以任用于商业!
  9. python降维可视化 自编码_如何使用自动编码器可视化降维? (Python | TensorFlow)...
  10. js td innerHTML
  11. slickedit自定义代码片段
  12. 【数字图像处理】基于SeetaFace2的人脸检测
  13. 机器学习基础概念(三):归纳与演绎
  14. MySQL登录时出现的Access denied for user 'root'@'xxx.xxx.xxx.xxx' (using password: YES) 的解决办法
  15. 电网大屏嘻哈分析之 ---- 要想 GDP 数据好,用电绝对不能少 ---- 你信不信篇
  16. 巴西棕榈蜡的提取方式
  17. 【golang】time: missing Location in call to Date
  18. owasp_我的Google夏天的owasp 2020代码之旅
  19. 你知道二维码是什么码吗?目前流行的无线射频识别用的又是什么编码呢?它俩如何转换呢?
  20. HTML第六章上机练习1-5题

热门文章

  1. 一文了解 caffe 框架 | CSDN 博文精选
  2. AI 快车道目标检测专场, PaddlePaddle “深度干货”
  3. 还在低效搬砖?看 BIM 如何颠覆了土木工程?
  4. @程序员,代码清理有必要吗?
  5. PHP 危矣?Zend Engine 团队宣布脱离 Rogue Wave
  6. 动辄年薪 25 万只是白菜价的人工智能黄了?
  7. 机器学习如何从 Python 2 迁移到 Python 3
  8. 012.成型版回声服务器
  9. 操作系统swap对redis的性能的影响以及解决方案
  10. linux中mysql自动备份操作文档_linux下mysql自动备份和自动删除文件功能实现