网站首页 > java教程 正文
大纲
- 新建 java web 项目用于参考配置
- 要导入非标准项目工程结构介绍
- idea导入java web工程
- 一些碎碎念
这是今年接到的另外一个java web 项目 ,也是非 maven标准结构项目,启动项目时花费了不少功夫才配置正确,成功启动
新建 java web 项目,用于参考配置
新建 java wab ,工程结构如下,此时部署到 tomcat,即可正常启动
javawebdemo
src
lib
out
web
WEB-INF
web.xml
index.jsp
src 目录下新建 cn.javabus.FirstServlet
1 src 目录下新建 cn.javabus.FirstServlet
public class FirstServlet extends javax.servlet.http.HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) {
PrintWriter out = response.getWriter();
out.println(" FirstServlet ");
out.flush();
}
}
2 配置部署描述文件 web.xml
<web-app>
<servlet>
<servlet-name>firstServlet</servlet-name>
<servlet-class>cn.javabus.FirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>firstServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
3 新建 tomcat
- edit configuration
- 点击+号 add new configuration
- tomcat -> local
- 初次添加 tomcat 选择本地 tomcat 所在位置
- fix 添加部署组件 (xxx:war exploded)
查看out目录下编译输出目录结构
打开 file-> project structure 核对以下配置
project settings: Project ,Modules, Libraries,Facets,Artifacts
Project
1 jdk 配置正确
2 compiler output 路径 ,一般是项目绝对路径/out 目录
Modules
sources: mark src 目录 as sources folders
paths: 勾选inherit project compile output path
dependencies : 同Libraries
Libraries
项目依赖的 jar 包引入
以及 JAVAEE6-JAVAEE6 相关依赖 (tomcate)
Facets
Web
1 部署描述符 web.xml 目录 ; 项目根目录下 web(webapp)/WEB-INF/web.xml
2 web Resource Directories ; 项目根目录下 web(webapp)
3 source root: 源代码存在目录 项目根目录下/src(/java)
Artifacts
output Directory: 项目下/out/artifacts/javaweb_war_exploded
output layout:
<output root>
WEB-INF
classes
cn...
web.xml
'web' Directory contents
Project 配置示例图
Modules 配置示例图
Facets 配置示例图
Artifacts 配置示例图
要导入非标准项目工程结构介绍
这是今年接到的另外一个java web 项目 ,也是是非 maven标准结构项目,启动项目时花费了一些功夫才配置正确,成功启动
项目工程结构如下,此时部署到 tomcat 无法启动
realtime_ta
webapp
WEB-INF
lib 项目依赖 jar 包
web.xml 项目部署描述符
bin 编译后输出目录
docs 文档目录
META-INF
src/java 源代码目录
idea导入java web工程
通过 open 方式打开项目.不要使用 idea import eclipse 项目
参考上面成功运行的标准 java web 工程进行配置
project settings: Project ,Modules, Libraries,Facets,Artifacts
主要差异在Facets,Artifacts
## 解决启动报错
- 通过 open 方式打开项目.不要使用 idea import eclipse 项目
- open 前需要先删除 nakfit.ipr 文件;会导致 open 项目后显示异常
- open后会提示 检查到 java web 框架 /webapp/WEB-INF/web.xml,点击应用
- 提示检查到 java EE 应用 /META-INF/application.xml ;取消 不应用
- project structure 核对以下配置
- 参考 idea 新建 java web 项目
- project settings: Project ,Modules, Libraries,Facets,Artifacts
- 配置 tomcat web.xml 只保留 helloServlet 测试先
- 1 找不到 class weblogic/utils/NestedException
- 排除依赖 weblogic.jar (/bin/artifacts/realtime_ta_Web_exploded/WEB-INF/lib 里面存在weblogic.jar时也需要删除)
- 注释相关错误代码
- 2 只引入 bcprov-jdk15on-1.60.jar
- 3 启动时创建 kcbp 连接
- 注释 kjaf-dao.xml 的所有 bean
项目部署到 tomcat 后启动成功
对于非 web 工程相关配置相对比较简单,可以参考下面文章
一些碎碎念
接手到了几个这种非标准化结构的项目,没有使用任何构建工具,在项目启动部署过程中都耗费了不少时间.做个记录备忘吧
最近几个项目中存在类似问题
- 工程结构不标准
- 代码臃肿,可读性差 .经常看到 3k,5k,7k 行代码的类,"真累"
- 代码缺乏设计 可扩展性差, 同事很多是 c++ 转 java 都是面向过程编码 ,封装继承特性都没有用上
- 敢用应届毕业生,if else 代码堆砌 功能能跑就 ok,东改改西动动 维护起来没有整体性可言
所以在最近的项目中,我都在不停的进行的项目重构,架构调整,代码评审;
可能前几次重构方案评审表现的还不错,几位老大哥就仿佛有意的的把我往老项目上放,让我做方案设计,输出相关方案设计文档,编码落地后面可以看再安排其他人(心里肯定是有不好预感的...);
这次是一个对接某银行的国密签名验证改造,丢了一个新项目地址过来就让我先出版方案,每次都这样不给文档, 搞得我一脸懵. 好不容易扯着他们给讲解讲解任务涉及相关内容,
几天后,输出方案设计后,又说人手不足,果真编码的事情也还是落在我身上了...根据方案文档编码后,要开始验证程序是否正确了.
有点恍惚,代码写完了项目还没跑起来过,这项目跑起来又花费了将近一天时间
同事们使用的是 myeclipse,可我自己已经习惯 idea 开发了,遇到问题也只能自己搞,这些问题也反应了自身对项目构建过程的不熟悉,还是要温故知新啊,
猜你喜欢
- 2024-11-09 SpringBoot入门之工程搭建(IDEA版)
- 2024-11-09 Spring Initializer+IntelliJ IDEA创建Spring Boot项目(图文)
- 2024-11-09 2020年IntelliJ IDEA最新最详细配置图文教程
- 2024-11-09 第六篇:使用IntelliJ IDEA编写你的第一个Java程序
- 2024-11-09 「Java开发中文指南」IntelliJ IDEA插件安装(一)
- 2024-11-09 SpringBoot项目的创建和配置的详细介绍
- 2024-11-09 IntelliJ IDEA搭建SpringBoot(intellij idea搭建聊天界面)
- 2024-11-09 IntelliJ IDEA 项目(idea java项目)
- 2024-11-09 idea搭建spring cloud项目-父子项目
- 2024-11-09 IDEA新建项目时的默认配置与模版配置
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)