java web maven 结构及从零创建jfinal项目

注;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/javaee
	      http://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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值