1. 怎么用Eclipse创建Web项目
你下载的可能是 Eclipse SDK,所以不包含 java web project.
你应该选择 Eclipse JavaEE版,也可以去下载 MyEclipse。 创建WEB工程的步骤:
1、在新增项目对话框中选择【Dynamic Web Project】
2、直接点击【Next】按钮后,在【Project name】中输入你的工程名,如果需要你的应用中需要使用JSF,可以在【Configurations】中选择【JavaServer Faces v1.1 Project】
3、【Next】后,选择【Dynamic Web Mole】和【Java】,如果你的工程需要用到JSF,则可以在【Configurations】中选择【JavaServer Faces v1.1 Project】和【JavaServer Faces】
4、【Next】后,分别在【Context Root】、【Content Directory】、【Java Source Directory】中设置web服务的根路径、Web资源的目录名称、源代码目录
5、点【Finish】后工程创建完后了,在【Project Explorer】中看到Eclipse创建出来的目录
2. 如何用eclipse做web开发
1.开发环境的搭建
1.1.开发工具
JDK:jdk1.6.0_17
Web Server:apache-tomcat-6.0.37
IDE:eclipse-jee
1.2.搭建开发环境
由于选择IDE作为开发的工具,IDE可以手动配置需要的插件工具,所以搭建开发环境变得简单而又快捷。
(1)安装JDK
提示:安装完JDK之后需要配置环境变量。
(2)安装tomcat
提示:如果是解压缩版直接解压就ok,如果是安装版需要根据安装提示完成安装。因为是使用IDE做开发,所以就不需要配置tomcat的环境变量了,不过还是建议不要太依赖于IDE了。
(3)解压缩Eclipse
提示:如果没有安装JDK就无法完成Eclipse的安装。
好了,到这里开发环境就准备好了,接下来用一个demo来演示一下如何在Eclipse中开发Web项目。
2.开发Web项目
2.1.新建Web项目
Eclipse-->File-->New-->Dynamic Web Project,如图1:
3. eclipse怎么开发webapp
在eclipse中配置好了tomcat服务器后,发布web工程就是自动发布到webapp目下面的。配置方法如下:
1.点击window-- show view - other 找到servers 点击OK。
2.在servers 里面右键鼠标 new -- server 找到tomcat版本,点击next,然后点击browse选择电脑上面的tomcat安装路径就行了。
前提是eclipse要能支持tomcat,也就是安装过tomcat插件或者eclipse是eclipse for J2EE能够开发web项目的。
4. 怎样在eclipse中创建Java Web项目
有个前提,也就是你的eclipse必须支持web项目开发,也就是eclipse for jee
而不是eclipse for java
那么新建java web项目步骤如下: 点击 file -- new -- other 选择Dynamic web project, 点击next ,在界面中输入project name 点击finish 就可以新建java web项目了
如下图
5. 我用eclipse开发了一个web项目,如何发布到我的服务器上
在Tomcat安装的目录下有一个conf目录,其中有一个web.xml文件,这个文件就是用于保存发布工程应用的配置文件。我们只要对这个文件进行配置,就可以发布具体的工程,另外,还有其他的方式发布,例如:通过WAR包发布等。这种配置web.xml文件的方式,有一种好处,就是可以使得我们在项目中修改的东西会自动加载到web容器中来,没有必要每一次都通过重新发布来加载。
web的本意是蜘蛛网和网的意思,在网页设计中我们称为网页的意思。现广泛译作网络、互联网等技术领域。表现为三种形式,即超文本(hypertext)、超媒体(hypermedia)、超文本传输协议(HTTP)等。
6. 一个完整的web项目开发流程
1 需求确定
通过各种方法确定系统的功能与性能。
功能:注册、登录、查询、搜索。。。
性能:可同时支持N个并发访问,并且响应时间不低于M毫秒。。。
方法:
会议
询问
头脑风暴
原型-界面原型、业务原型。。。
本阶段是项目开发的最重要的阶段。
在WEB项目中,通常界面设计会在本阶段进行。
2 分析与设计
1 架构分析与设计
逻辑结构:
3层架构、多层架构。。。
MVC。。。
Model1或Model2
。。。
物理架构:
web服务器的分布
数据库服务器的分布
。。。
技术解决方法的确定:
Java/.net
Open Source/商业
。。。
2 业务逻辑分析
根据需求分析业务逻辑:
有哪些人使用本系统
他们会使用本系统做什么
通常他们使用本系统的步骤是怎么样的
会有哪些明显的类来支撑本系统的运行
会有哪些不同的提示会反馈给用户
。。。
本阶段与需求的确定密切相关,通常在确定需求的时候就会进行相关的分析。
3 业务逻辑设计
根据需求的分析来确定具体的类
确定类的属性
确定类的接口(方法)
确定类之间的关系
确定用户操作流程在设计上的反映
进行数据库的设计
注意:不同的项目步骤可能不尽相同
4 界面设计
设计系统的界面风格:
颜色、style
设计系统的具体“模拟”界面:
能够从头到尾
方便进行需求的确定
方便JSP程序员进行开发
。。。
3 开发环境搭建
开发工具的确定:
eclipse、Myeclipse。。。
配置管理工具的确定
测试工具的确定
文件服务器/配置服务器等的确定
。。。
4 开发-测试-开发-测试
按照设计进行开发
迅速开发原型
进行迭代开发
提早进行测试:
单元测试
黑盒测试
白盒测试
性能测试
易用性测试
。。。
5 编写文档
7. 怎么在eclipse中创建web project
首先,你要先打开Eclipse软件,打开后在工具栏依次点击【File】>>>【New】>>>【Dynamic Web Project】,这个就代表新建的项目是WEB项目
提示:如果没有找到【Dynamic Web Project】请看下一步
如果我们找不到【Dynamic Web Project】这个选项,说明以前没有建立过WEB项目,所以不在快捷导航里,这时我们点击【Other】这个选项
这个界面弹出的是查询窗口,查询的内容是所有我们可以建立的项目类型,比如JAVA项目、WEB项目等,都可以再找个窗口查询得到
我们是要建立WEB项目,所以在查询输入框里输入【WEB】,下面会列出所有WEB相关的项目,现在,我们知道【Dynamic Web Project】这个类型的项目了,用鼠标选中它,然后点击【Next】按钮
这个是填写项目的基本信息,包括项目名、项目运行时服务器版本,你可以选择tomcat或者其他都可以,看你的项目需要,在这里我输入一个【Test】来测试项目的建立,输入完毕后我们点击【Next】按钮
这个窗口显示的WEB项目中需要编译的JAVA文件的目录,默认是SRC目录,这个我们不需要改,直接点击【Next】
接着弹出窗口,显示的是我们的WEB项目,WEB文件相关的目录,就是html或者jsp还有js那些web相关的文件存放的目录,默认是【WebContent】,你也可以修改成你想要的文件名,注意,下面有个复选框,表示的是是否要自动生成web.xml文件
web.xml:这个文件是WEB项目的核心文件,也是WEB项目的入口,老版本的Eclipse都会有这个文件,但是新版本的Eclipse因为可以使用在JAVA代码中注解的方式,所以提供让用户选择是否要生成,如果是新手最好选择生成
然后我们点击【Finish】。
8. 怎样在myecplise8开发webservice 简单实例
1.1.系统功能:
开发一个计算器服务CalculateService,这个服务包含加(plus)、减(minus)、乘(multiply)、除(divide)的操作。
1.2.开发前准备:
安装Eclipse-jee;
下载最新版本的Axis2,网址http://axis.apache.org/axis2/java/core/download.cgi
,选择Standard Binary Distribution的zip包,解压缩得到的目录名axis2-1.4.1,目录内的文件结构如下:
1.3.开发前配置:
在Eclipse的菜单栏中,Window --> Preferences --> Web Service -->
Axis2 Perferences,在Axis2 runtime
location中选择Axis2解压缩包的位置,设置好后,点"OK"即行。(如图)
1.4.开发Web Service:
(1)新建一个Java Project,命名为"WebServiceTest1"
(2)新建一个class,命名为"CalculateService",完整代码如下:
package e.sjtu.webservice;
/**
* 计算器运算
* @author rongxinhua
*/
public class CalculateService {
//加法
public float plus(float x, float y) {
return x + y;
}
//减法
public float minus(float x, float y) {
return x - y;
}
//乘法
public float multiply(float x, float y) {
return x * y;
}
//除法
public float divide(float x, float y) {
if(y!=0)
{
return x / y;
}
else
return -1;
}
}
(3)在"WebServiceTest1"项目上new --> other,找到"Web Services"下面的"Web Service";
(4)下一步(next),在出现的Web Services对象框,在Service
implementation中点击"Browse",进入Browse
Classes对象框,查找到我们刚才写的写的CalculateService类。(如下图)。点击"ok",则回到Web Service话框。
(5)在Web Service对话框中,将Web Service type中的滑块,调到"start service“的位置,将Client type中的滑块调到"Test client"的位置。
(6)在Web Service
type滑块图的右边有个"Configuration",点击它下面的选项,进入ServiceDeployment
Configuration对象框,在这里选择相应的Server(我这里用Tomcat6.0)和Web
Serviceruntime(选择Apache Axis2),如下图:
(7)点OK后,则返回到Web Service对话框,同理,Client
type中的滑块右边也有"Configuration",也要进行相应的置,步骤同上。完成后,Next -->
next即行。进入到Axis2 Web Service Java Bean Configuration,我们选择Generate a
default services.xml,如下图所示:
(8)到了Server startup对话框,有个按键"start server"(如下图),点击它,则可启动Tomcat服务器了。
(9)等启完后,点击"next -- > next",一切默认即行,最后,点击完成。最后,出现如下界面:(Web Service
Explorer),我们在这里便可测试我们的Web服务。(使用浏览器打开的话使用如下地址:http://127.0.0.1:19189/wse
/wsexplorer/wsexplorer.jsp?org.eclipse.wst.ws.explorer=3)。如下图所示:
注:在浏览器中打开Web Service Explorer(有时候在eclipse中关闭了webservice explorer,可以用这种方法打开)
首先登录地址:http://127.0.0.1:19189/wse/wsexplorer/wsexplorer.jsp。然后在网页右上角选择
Web Service
Exoplorer标签。然后输入WSDL地址:http://localhost:8080/WebServiceTest1/services
/CalculateService?wsdl 。这个wsdl地址就是我们刚才发布服务的那个wsdl。点击go,如下图所示:
然后就可以看到如下界面了:
(10)测试比较简单,例如,我们选择一个"plus"的Operation(必须是
CalculateServiceSoap11Binding),出现下图,在x的输入框中输入1,在y的输入框中输入2,点击"go",便会在
status栏中显示结果3.0。其他方法的测试也类似。结果如上图所示。
1.5.CalculateService客户端调用程序
前面我们已经定义好了加减乘除的方法并将这些方法发布为服务,那么现在要做的就是调用这些服务即可。客户端调用程序如下代码所示:CalculateServiceTest.java
package e.sjtu.webservice.test;
import javax.xml.namespace.QName;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;
public class CalculateServiceTest {
/**
* @param args
* @throws AxisFault
*/
public static void main(String[] args) throws AxisFault {
// TODO Auto-generated method stub
// 使用RPC方式调用WebService
RPCServiceClient serviceClient = new RPCServiceClient();
Options options = serviceClient.getOptions();
// 指定调用WebService的URL
EndpointReference targetEPR = new EndpointReference(
"http://localhost:8080/WebServiceTest1/services/CalculateService");
options.setTo(targetEPR);
// 指定要调用的计算机器中的方法及WSDL文件的命名空间:e.sjtu.webservice。
QName opAddEntry = new QName("http://webservice.sjtu.e","plus");//加法
QName opAddEntryminus = new QName("http://webservice.sjtu.e","minus");//减法
QName opAddEntrymultiply = new QName("http://webservice.sjtu.e","multiply");//乘法
QName opAddEntrydivide = new QName("http://webservice.sjtu.e","divide");//除法
// 指定plus方法的参数值为两个,分别是加数和被加数
Object[] opAddEntryArgs = new Object[] { 1,2 };
// 指定plus方法返回值的数据类型的Class对象
Class[] classes = new Class[] { float.class };
// 调用plus方法并输出该方法的返回值
System.out.println(serviceClient.invokeBlocking(opAddEntry,opAddEntryArgs, classes)[0]);
System.out.println(serviceClient.invokeBlocking(opAddEntryminus,opAddEntryArgs, classes)[0]);
System.out.println(serviceClient.invokeBlocking(opAddEntrymultiply,opAddEntryArgs, classes)[0]);
System.out.println(serviceClient.invokeBlocking(opAddEntrydivide,opAddEntryArgs, classes)[0]);
}
}
运行结果:
3.0
-1.0
2.0
0.5
2.实例
2.HelloService
(1)首先定义服务方法,代码如下所示:
package e.sjtu.webservice;
public class HelloService {
public String sayHelloNew() {
return "hello";
}
public String sayHelloToPersonNew(String name) {
if (name == null) {
name = "nobody";
}
return "hello," + name;
}
public void updateData(String data) {
System.out.println(data + " 已更新。");
}
}
(2)参考实例1将这个方法发布为服务。
(3)编写客户端代码调用WebService(主要参考[5])
本文例子与其他例子最大的不同就在这里,其他例子一般需要根据刚才的服务wsdl生成客户端stub,然后通过stub来调用服务,这种方式显得比
较单一,客户端必须需要stub存根才能够访问服务,很不方面。本例子的客户端不采用stub方式,而是一种实现通用的调用方式,不需要任何客户端存根即
可访问服务。只需要指定对于的web servce地址、操作名、参数和函数返回类型即可。代码如下所示:
HelloServiceTest2.java
package e.sjtu.webservice.test;
import javax.xml.namespace.QName;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;
public class HelloServiceTest2 {
private RPCServiceClient serviceClient;
private Options options;
private EndpointReference targetEPR;
public HelloServiceTest2(String endpoint) throws AxisFault {
serviceClient = new RPCServiceClient();
options = serviceClient.getOptions();
targetEPR = new EndpointReference(endpoint);
options.setTo(targetEPR);
}
public Object[] invokeOp(String targetNamespace, String opName,
Object[] opArgs, Class<?>[] opReturnType) throws AxisFault,
ClassNotFoundException {
// 设定操作的名称
QName opQName = new QName(targetNamespace, opName);
// 设定返回值
// Class<?>[] opReturn = new Class[] { opReturnType };
// 操作需要传入的参数已经在参数中给定,这里直接传入方法中调用
return serviceClient.invokeBlocking(opQName, opArgs, opReturnType);
}
/**
* @param args
* @throws AxisFault
* @throws ClassNotFoundException
*/
public static void main(String[] args) throws AxisFault,
ClassNotFoundException {
// TODO Auto-generated method stub
final String endPointReference = "http://localhost:8080/WebServiceTest1/services/HelloService";
final String targetNamespace = "http://webservice.sjtu.e";
HelloServiceTest2 client = new HelloServiceTest2(endPointReference);
String opName = "sayHelloToPersonNew";
Object[] opArgs = new Object[] { "My Friends" };
Class<?>[] opReturnType = new Class[] { String[].class };
Object[] response = client.invokeOp(targetNamespace, opName, opArgs,
opReturnType);
System.out.println(((String[]) response[0])[0]);
}
}
运行该程序,点击Run As->Java application,可以看到控制台端口的输出是:Hello, My
Friends,表明客户端调用成功。该例子最大的不同和优势表现在客户端的调用方式,或者说是发起服务调用的方式,虽然比起客户端stub存根的方式,
代码稍多,但是这种方式统一,不需要生产stub存根代码,解决了客户端有很多类的问题。如果读者对这些代码进一步封装,我想调用方式很简单,只需要传递
相关参数,这更好地说明了服务调用的优势。而且这种方式更加简单明了,一看便知具体含义。而不需要弄得stub类的一些机制。
(4)改写客户端调用服务的代码
(3)中提到的客户端应用代码写的略微有些繁杂,下面将上面的客户端调用service程序进行改写,简洁了许多。代码如下:
HelloServiceTest.java
import javax.xml.namespace.QName;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;
public class HelloServiceTest {
public static void main(String args[]) throws AxisFault {
// 使用RPC方式调用WebService
RPCServiceClient serviceClient = new RPCServiceClient();
Options options = serviceClient.getOptions();
// 指定调用WebService的URL
EndpointReference targetEPR = new EndpointReference("http://localhost:8080/WebServiceTest1/services/HelloService");
options.setTo(targetEPR);
// 指定要调用的sayHelloToPerson方法及WSDL文件的命名空间
QName opAddEntry = new QName("http://webservice.sjtu.e","sayHelloToPersonNew");
// 指定sayHelloToPerson方法的参数值
Object[] opAddEntryArgs = new Object[] { "xuwei" };
// 指定sayHelloToPerson方法返回值的数据类型的Class对象
Class[] classes = new Class[] { String.class };
// 调用sayHelloToPerson方法并输出该方法的返回值
System.out.println(serviceClient.invokeBlocking(opAddEntry,opAddEntryArgs, classes)[0]);
}
}
9. 用eclipse做WEB开发
楼上都是乱说的。
你没有下载myeclipse,myeclipse是网络开发的软件包,没有这个是无法建立web工程的。
这个是包含eclipse的myeclipse,不记得这个带不带Tomcat,myeclipse高版本是自带tomcat和虚拟机的。
http://downloads.myeclipseide.com/downloads/procts/eworkbench/6.5.0GA/MyEclipse_6.5.0GA_E3.3.2_Installer_A.exe