- 浏览: 701384 次
- 性别:
- 来自: 北京
博客专栏
-
读金庸故事,品程序人生
浏览量:47681
文章分类
最新评论
-
hty881008:
LZ,你的json返回是怎么出来的,我的怎么是No messa ...
使用CXF暴露您的REST服务 -
jxFY:
赞
Apache的对象池化工具commons-pool -
wangyudong:
新版本的Wisdom RESTClient地址https:// ...
使用CXF暴露您的REST服务 -
wangyudong:
由CXF实现的微服务需要有比较好的工具去测试RESTful A ...
使用CXF暴露您的REST服务 -
spring_springdata:
可以参考最新的文档:如何在eclipse jee中检出项目并转 ...
Maven3实战笔记01环境配置与使用入门
1. 构建Web应用介绍
Java Web项目是我们最熟悉的项目类型了,一个Web项目的结构大家也是烂熟于心。之前咱们使用Maven构建的都是JavaSE类型的项目,虽然说Java Web项目可以借助类似于Eclipse这种IDE可以很好的帮助我们打包生成war,而且IDE可以集成Web服务器,联调也不麻烦。那如果说我在构建Web项目的同时又想跑一下全部的单元测试用例呢,又比如我的Web项目引用了很多已有的Maven私服上的jar包呢(比如就是Struts+Spring+Hibernate),再比如,我想看看此次Web项目构建过程中具体的报告信息等等,还是用Maven管理Java Web项目更为科学吧~当然了,笔者在这里绝不是让大家将所有的项目都迁移到Maven模式管理下,绝无此意,而是觉得在JavaSE上能体现Maven的优点同样适用于Java Web项目,虽然这种迁移会让您稍微改变一下以往的开发模式,但是个人认为从长期角度讲,对项目,对企业,对客户还是值得的。
2. 使用Maven构建Java Web项目
Java Web项目和别的项目不一样的地方主要在于2点,第一就是pom.xml文件中的构件类型,第二就是web资源(包括页面、web.xml、图片资源文件)。
在pom.xml文件中需要指定打包类型为war。pom.xml文件内容如下
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>MavenAccount-web</groupId> <artifactId>MavenAccount-web</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <name>MavenAccount-web</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>
之后就是放置web文件的位置,Maven约定web文件放到src/main/webapp下面,用过MyEclipse的朋友们可能知道,开发web项目根目录下除了有src目录,都有一个叫做WebRoot的目录用于存储web资源的。
webapp下面就是那个放置页面资源的文件夹。
下面就是src/main/java下一个简单的JavaBean的代码。
package MavenAccountweb; /** * Hello world! */ public class App { public String sayWebHello(String str) { System.out.println(str); return "hello:" + str; } }
主页面入口index.jsp内容如下
<%@ page language="java" import="MavenAccountweb.App" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Hello Web</title> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <% App app = new App(); String newString = app.sayWebHello("liuyan"); %> [<%=newString%>] <br> </body> </html>
它引用了业务JavaBean输出一段内容。
在项目根目录下运行maven脚本
mvn clean package
之后看到目标输出目录出现如下内容
其中MavenAccount-web-0.0.1-SNAPSHOT.war,我们将其部署到本机的tomcat上运行。看到页面效果如下
Ok,证明你的Java Web项目构建成功。因为Java Web具体技术研发不在本次讨论的重点范围内,因此仅仅给出一个十分微小的Web项目。需要注意的是大家平时调试的时候完全可以使用IDE集成Web应用服务器,这是没有问题的,笔者看有些地方介绍了Maven插件——jetty-maven-plugin进行嵌入式的web调试,其实笔者认为大可不必,有IDE的时候其实使用此Maven插件感觉并不比使用IDE集成的Web服务器方便多少,而且各种Web服务器实现JSP、Servlet、JSF规范是不一样的,Tomcat自己的实现与Jetty就有很大差异,没准一个JSF项目在Tomcat下面运行得好好的,放到了Jetty下面就出现了不可预知的异常。所以还是是用IDE集成的Web服务器查看问题更方便一些。当然此处仅仅是笔者经验的一家之言,不同项目因情况而异。
在Web项目中依赖Spring、Struts等等第三方的包,和JavaSE的依赖配置一样。此处不必详说。而因为笔者调试阶段是使用IDE工具集成的Web服务器——Tomcat,所以不必在pom.xml中显示声明JSP-impl、Servlet-impl等等Java Web规范的依赖项,Tomcat自身就是一个Java Web容器,自己有相关jar实现了此规范。(至于JavaEE规范详细请查看笔者Blog: http://suhuanzheng7784877.iteye.com/blog/908380)
3. 总结
Web项目是我们搞Java研发人员中接触最多的,使用Maven配合MyEclipse这种IDE能让Web项目构建、升级第三方包、依赖第三方包更加简单、方便。也节省了很多查找Web依赖的时间。尤其是SSH项目,有时使用Spring需要依赖其他很多jar包,Maven会为您管理、下载这种间接依赖的。从此我们的Web开发显得构建简单了。当然可以参考其他文章看看使用Maven插件进行web项目热部署
http://www.huomo.cn/developer/article-196fd.html
http://article.yeeyan.org/view/jdonee/19631?from_com
此处就不细细道来了。
评论
http://www.docin.com/p-219804521.html
是关于hudson的介绍,持续集成。
/ts.ires.admin
/ts.ires.application
/ts.ires.collection
/ts.ires.core
/ts.ires.metadata
/ts.ires.monitor
/ts.ires.service
/ts.ires.share
/ts.ires.web
ts.ires.web工程的pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.starit.resource</groupId> <artifactId>resource-parent</artifactId> <version>1.0.0-SNAPSHOT</version> </parent> <packaging>war</packaging> <artifactId>ts.ires.web</artifactId> <name>starit resource web</name> <dependencies> <dependency> <groupId>com.starit.resource</groupId> <artifactId>ts.ires.core</artifactId> <version>${parent.version}</version> </dependency> <dependency> <groupId>com.starit.resource</groupId> <artifactId>ts.ires.admin</artifactId> <version>${parent.version}</version> </dependency> <dependency> <groupId>com.starit.resource</groupId> <artifactId>ts.ires.application</artifactId> <version>${parent.version}</version> </dependency> <dependency> <groupId>com.starit.resource</groupId> <artifactId>ts.ires.collection</artifactId> <version>${parent.version}</version> </dependency> <dependency> <groupId>com.starit.resource</groupId> <artifactId>ts.ires.metadata</artifactId> <version>${parent.version}</version> </dependency> <dependency> <groupId>com.starit.resource</groupId> <artifactId>ts.ires.monitor</artifactId> <version>${parent.version}</version> </dependency> <dependency> <groupId>com.starit.resource</groupId> <artifactId>ts.ires.service</artifactId> <version>${parent.version}</version> </dependency> <dependency> <groupId>com.starit.resource</groupId> <artifactId>ts.ires.share</artifactId> <version>${parent.version}</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>tomcat-maven-plugin</artifactId> <configuration> <server>myserver</server> <path>/resource</path> </configuration> </plugin> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>7.2.2.v20101205</version> <configuration> <webAppConfig> <contextPath>/resource</contextPath> </webAppConfig> <!--<scanIntervalSeconds>3</scanIntervalSeconds>--> <connectors> <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector"> <port>8080</port> <maxIdleTime>30000</maxIdleTime> </connector> </connectors> <webAppSourceDirectory>src/main/webapp</webAppSourceDirectory> </configuration> </plugin> </plugins> </build> </project>
发表评论
-
Web前端优化
2014-04-08 09:35 3651Web前端优化总结 刘岩 suhua ... -
使用CXF暴露您的REST服务
2011-06-15 14:32 181221. 前言 现在互联网Open API流行,将您的Web应 ... -
JavaEE5实战笔记04JSF的一些补充
2011-05-31 09:39 12821. 前言 这个是对于以前JSF学习的一点点补充 ... -
JSF与Struts2的瑜亮之争
2011-05-12 15:36 9790刘岩 Email:suhuanzheng778487 ... -
JavaEE5学习笔记14-JSF集成Facelets使用经验总结
2011-03-24 12:06 31401. Facelets就像tiles、siteme ... -
JavaEE5学习笔记13-JSF集成AJAX使用经验总结
2011-03-24 11:36 5367JSF也支持AJAX,ajax4jsf是专门为JSF提供的AJ ... -
JavaEE5学习笔记07-Web层与EJB集成总结(5):异常问题以及解决
2011-02-23 17:00 3489在Web系统和EJB整合的过程中,比较麻烦的经历就是打包、部署 ... -
JavaEE5学习笔记07-Web层与EJB集成总结(4):Struts2与EJB集成
2011-02-23 16:56 1469Struts2+EJB+JBoss的集成Demo 因为St ... -
JavaEE5学习笔记07-Web层与EJB集成总结(3):JSF与EJB集成
2011-02-23 16:55 1428JSF+EJB+JBoss集成Demo 上面提到过JSF也 ... -
JavaEE5学习笔记07-Web层与EJB集成总结(2):servlet与EJB集成结果展示
2011-02-23 16:51 1257之后在写2个jsp页面 insertUserFormServ ... -
JavaEE5学习笔记07-Web层与EJB集成总结(1):servlet与EJB集成
2011-02-23 16:48 17671. 集成时的感受 单丝不成线,孤木不成林。尽管 ... -
Struts2+Web常使用的功能经验笔记第1季--4
2011-01-21 10:15 12711. <meta http-equiv ... -
Struts2+Web常使用的功能经验笔记第1季--3
2011-01-21 10:14 14231. Struts2的拦截器 它一般作为S ... -
Struts2+Web常使用的功能经验笔记第1季--2
2011-01-21 10:13 14111. Struts2的JSON插件,让Str ... -
Struts2+Web常使用的功能经验笔记第1季--1
2011-01-21 10:11 23511. 前言 Apache的Struts2已经 ... -
JSF+Spring+JPA(Hibernate实现)的环境搭建(4)
2010-12-30 15:13 2072配置Spring文件applicationContext.xm ... -
修改fck源代码(2)
2010-12-30 14:35 1159showImage.jsp代码如下: <% ... -
修改fck源代码(1)
2010-12-30 14:33 1556OK,到此为止,FCK基本集成到您的web系统当中。但是目前出 ... -
FCKEditor使用、修改源代码经验总结
2010-12-30 14:23 3665FCKEditor使用、修改源代码经验总结 作者:刘岩 E ...
相关推荐
电动车上牌管理系统 SSM毕业设计 附带论文 启动教程:https://www.bilibili.com/video/BV1GK1iYyE2B
tornado-6.1-cp39-cp39-manylinux2010_x86_64.whl
一、项目简介 本项目是一套基于Java Swing 开发的网吧管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,确保可以运行! 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 二、技术实现 后台技术:java swing 数据库:MySQL 数据库连接池:c3p0 三、系统主要功能 用户登录: 分为 普通用户和管理员 两种角色 菜单模块:上机,下机, 系统设置:管理员设置,会员设置,计费设置, 退出系统 管理模块:增加会员,删除会员,信息修改,信息查询 视图模块:主页视图,在线用户,统计视图, 统计报表模块:人数报表,收入报表 帮助模块:联系我们,关于系统 详见:https://blog.csdn.net/weixin_43860634/article/details/125247764
使用软件自带的basic脚本编辑制作的脚本 低版本软件无法输出Excel报告,可以通过脚本方式实现这一功能
项目经过测试均可完美运行! 环境说明: 开发语言:java jdk:jdk1.8 数据库:mysql 5.7+ 数据库工具:Navicat11+ 管理工具:maven 开发工具:idea/eclipse
基于java的网上电子书店h答辩PPT.pptx
基于微信小程序的微信小程序校园失物招领答辩PPT.pptx
基于java的基于Java的学生综合测评管理系统答辩PPT.pptx
pandas whl安装包,对应各个python版本和系统(具体看资源名字),找准自己对应的下载即可! 下载后解压出来是已.whl为后缀的安装包,进入终端,直接pip install pandas-xxx.whl即可,非常方便。 再也不用担心pip联网下载网络超时,各种安装不成功的问题。
去
管理员功能: 用户管理:管理员可以管理用户账户,包括审核新注册用户、禁用违规用户、重置密码等操作。 器材管理:管理员可以管理器材的信息,包括添加新器材、编辑器材详情、设定器材规则和限制等。 器材预约与借还管理:管理员可以处理用户的器材预约请求,确认或调整预约时间,并记录借还操作。 库存管理:管理员可以监控器材库存情况,及时补充不足的器材并处理损坏或报废的器材。 数据统计与报表:管理员可以分析系统的使用情况和借还记录,生成数据统计报表以了解器材使用情况和借还频率等。 系统设置与维护:管理员可以进行系统设置,包括配置器材规则、设定可用时间段、备份数据、优化系统性能等。 消息通知与提醒:管理员可以向用户发送消息通知,如器材预约成功、归还提醒、系统更新通知等。
Jira插件安装包Dynamic-forms
pandas whl安装包,对应各个python版本和系统(具体看资源名字),找准自己对应的下载即可! 下载后解压出来是已.whl为后缀的安装包,进入终端,直接pip install pandas-xxx.whl即可,非常方便。 再也不用担心pip联网下载网络超时,各种安装不成功的问题。
Scratch是一款由麻省理工学院(MIT)的“终身幼儿园团队”开发的图形化编程工具,专为儿童设计,旨在帮助他们学习编程思维和逻辑能力。
基于java的学生就业管理系统答辩PPT.pptx
本压缩包资源说明,你现在往下拉可以看到压缩包内容目录 我是批量上传的基于SpringBoot+Vue的项目,所以描述都一样;有源码有数据库脚本,系统都是测试过可运行的,看文件名即可区分项目~ |Java|SpringBoot|Vue|前后端分离| 开发语言:Java 框架:SpringBoot,Vue JDK版本:JDK1.8 数据库:MySQL 5.7+(推荐5.7,8.0也可以) 数据库工具:Navicat 开发软件: idea/eclipse(推荐idea) Maven包:Maven3.3.9+ 系统环境:Windows/Mac
随着社会对志愿服务活动的日益重视,各大高校也纷纷参与到志愿服务的行列中。为了更好地管理和记录志愿者活动,提高志愿服务的质量和效率,我们开发了这款大学志愿服务系统。 该系统主要包括多个功能模块,如信息管理、活动管理、学生管理等。信息管理模块允许学校管理员录入、修改和删除学校的基本信息,包括学校账号、名称、联系电话、地址、特色以及办学理念等,确保信息的准确性和完整性。活动管理模块则用于记录和管理志愿者活动的相关信息,包括活动的名称、时间、地点、参与人员等,方便志愿者进行报名和签到。 此外,系统还提供了学生管理模块,用于记录学生的志愿服务经历和表现,为学生参与志愿服务提供便利。同时,系统还支持照片上传和展示功能,通过展示志愿者活动的照片,让更多人了解和关注志愿服务事业。 整个系统界面简洁明了,操作便捷,功能强大。通过使用该系统,高校可以更加高效地管理和记录志愿者活动,提高志愿服务的整体水平。同时,该系统也为广大志愿者提供了一个展示自我、服务社会的平台。
turbo均衡算法研究
https://blog.csdn.net/aggs1990/article/details/143491823 静态编译的Qt6.7.3(win10+MSVC2022+openssl+静态运行时) 压缩包比较大,这是第一部分
tornado-6.4b1-cp38-abi3-musllinux_1_1_i686.whl