用myeclipse哪个版本好写SSH的新手应该看点什么书

eclipse SSH框架开发用eclipse和myeclipse有什么区别_百度知道
eclipse SSH框架开发用eclipse和myeclipse有什么区别
我用的是eclipse开发框架项目,最近看韩顺平的视频,他用的是myeclipse做项目基本都是配置,感觉区别很大
我有更好的答案
本质上没什么区别。myeclipse只是集成了一些插件,某些框架可以使用一键式添加,自动导入依赖jar,自动添加配置加载项,参数化的配置项等等。做教程是为了快速方便,学习则要从基础学起。建议你开始学习时使用手动配置,不要使用myeclipse的自动加载。学习原理才能举一反三,不然后面你做项目出现配置问题,你只好抓耳挠腮了。
eclipse配置struts.xml怎样会有这种效果
工具中集成了struts的Design工具,所以你看到的xml会以图形化的界面展现其配置。这个图包含了基本配置参数和箭头表示的页面跳转。
可我的是这样的这样的
切换代码和设计。那是因为你的eclipse中没有集成struts的设计插件,所以只是以通常的xml设计器显示。你没发现你的struts.xml和上面的struts.xml的图标都不同吗?!
我是刚入职的实习生,我想问一下公司eclipse开发项目框架都是手动配的吗
基本上是手动,自动配置不可能达到项目的要求。自动配置对于新手来说可以拿来练习,对于真实做项目来说其实就是鸡肋。
采纳率:68%
myeclipse大部分插件都是集成好的,所以都是配置。eclipse是用什么插件,自己安装什么。想快速上手,Myeclipse想多学点,eclipse
为您推荐:
其他类似问题
ssh框架的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。博客分类:
  工具:、
环境:Struts1.1、Spring1.2、Hibernate3.1、sqlserver20001.1. 新建工程  本范例使用最简单的登录模块来实践SSH的开发,旨在体会和入门SSH技术的整合
操作:[Menu] File/New/Web Project  工程名:login
2. Struts 部分
2.1. 添加 Struts 功能支持  操作:[Menu] MyEclipse/Project Capabilities/Add Struts Capabilities
修改web.xml
&jsp-config&
&taglib-uri&/WEB-INF/struts-html&/taglib-uri&
&taglib-location&/WEB-INF/struts-html.tld&/taglib-location&
&/jsp-config&
分别创建index.jsp、login.jsp、success.jsp先不对jsp页面做任何修改2.2. 创建 ActionForm 类  操作:[Ctrl+N] MyEclipse/Web-Struts/Struts 1.1 Form  类名:LoginForm
  在 "Form Properties" 选项卡为 loginForm 新增两个属性:username、password;2.3. 创建 Action 类  类名:LoginAction
在 "Form" 选项卡的 "Name" 项选择 "loginForm","Input Source" 项输入 "/login.jsp"。
在Forwards中创建两个forward对象
success登录成功,跳转到success.jsp
fail登录失败,跳转到login.jsp重新登录
此时struts-config.xml代码如下
&?xml version="1.0" encoding="UTF-8"?&
&!DOCTYPE PUBLIC "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"&
&struts-config&
&data-sources /&
&form-beans&
&form-bean name="loginForm" type="struts.form.LoginForm"&&/form-bean&
&/form-beans&
&global-exceptions /&
&global-forwards /&
&action-mappings&
path="/login"
input="/login.jsp"
name="loginForm"
type="struts.action.LoginAction"&
&forward name="success" path="/success.jsp"&&/forward&
&forward name="fail" path="/login.jsp"&&/forward&
&/action-mappings&
&message-resources parameter="ApplicationResources" /&
&/struts-config&
2.4. 修改jsp 文件  index.jsp代码
&%@ page language="java" pageEncoding="UTF-8"%&
&%@ taglib uri="/WEB-INF/struts-html" prefix="html" %&
&!DOCTYPE PUBLIC &
&html:html locale="true"&
&html:base /&
&html:form action="login" method="post" focus="username"&
&table border="0"&
&td&Name:&/td&
&td&&html:text property="username" /&&/td&
&td&Password:&/td&
&td&&html:password property="password" /&&/td&
&td colspan="2" align="center"&&html:submit /&&/td&
&/html:form&
&/html:html&
login.jsp代码(其它代码相同)
&html:errors/&
&html:form action="login" method="post" focus="username"&
&table border="0"&
&td&Name:&/td&
&td&&html:text property="username" /&&/td&
&td&Password:&/td&
&td&&html:password property="password" /&&/td&
&td colspan="2" align="center"&&html:submit /&&/td&
&/html:form&
success.jsp代码
&h2&welcome!!!&/h2&
2.5. 修改资源文件  ApplicationResources.properties文件如下
# Resources for parameter 'ApplicationResources'
# Project login
= &h3&&font color="red"&Validation Error&/font&&/h3&&ul&
= &/ul&&hr&
= &li&"&font color=red&{0}&/font&" is not a correct name, please input name again&/li&
= &li&"&font color=red&{0}&/font&" is not a correct password, please input password again&/li&
= &li& name or password not correct&/li&
2.6. 修改 LoginAction.java 文件  修改 LoginAction 类的 execute 方法:
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
LoginForm loginForm = (LoginForm)// TODO Auto-generated method stub
String username= loginForm.getUsername();
String password= loginForm.getPassword();
ActionErrors errors= new ActionErrors();
if("aaron".equals(username)&&"123".equals(password)){
return mapping.findForward("success");
errors.add("name", new ActionError("error.name.required", username));
errors.add("password", new ActionError("error.password.required", password));
saveErrors(request, errors);
return mapping.findForward("fail");
Action的流程是:如果用户名密码分别为aaron和123则跳转到登录成功页面success.jsp显示welcom!!!,否则,简单的标记为用户名和密码错误,并跳转到login.jsp页面,显示错误信息并重新登录2.7. 测试  操作:[Menu] Run/Run(用 MyEclipse Server Application 方式运行)  在 index.jsp 页面输入 "aaron/123",登录成功;输入 "aaron/1111" ,跳转到 login.jsp 页面。  如果测试成功,证明 Structs 运行正常。
3. Spring 部分
3.1. 添加 Spring 功能支持  操作:[Menu] MyEclipse/Project Capabilities/Add Spring Capabilities
  开发包(libraries)选择 "Spring 1.2 AOP Libraries、Spring 1.2 Core Libraries两项;  JAR Library Installation 选择 "copy checked..." ,"Library Folder" 项选择 "/WebRoot/WEB-INF/lib"(这样的话所需的类库都将拷贝到项目目录,方便以后的布署)。
点击 "下一步(Next)" 创建配置文件,修改文件路径(Folder)到 "src" 目录,文件名称为默认的"applicationContext.xml"。
选择完成,
选择Keep Existing,成功导入Spring功能
查看构建路径中有没有spring.jar包,很多情况下MyEclipse都没有导入这个包,如果没有则导入相同版本的spring.jar包
 导入spring.jar包(1.2.9)
3.2. 配置 struts-config.xml 文件  添加 Spring 插件(在 &message-resources& 标签后面添加):
&?xml version="1.0" encoding="UTF-8"?&
&!DOCTYPE PUBLIC "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"&
&struts-config&
&data-sources /&
&form-beans&
&form-bean name="loginForm" type="struts.form.LoginForm"&&/form-bean&
&/form-beans&
&global-exceptions /&
&global-forwards /&
&action-mappings&
path="/login"
input="/login.jsp"
name="loginForm"
type="org.springframework.web.struts.DelegatingActionProxy"&
&forward name="success" path="/success.jsp"&&/forward&
&forward name="fail" path="/login.jsp"&&/forward&
&/action-mappings&
&message-resources parameter="ApplicationResources" /&
&plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"&
&set-property property="contextConfigLocation" value="/WEB-INF/classes/applicationContext.xml"/&
&/plug-in&
&/struts-config&
  粗体字部份为修改的内容,这里将使用 spring 的代理器 DelegatingActionProxy 来对 Action 进行控制。
如果applicationContext.xml部署在src目录下,则对应发布后的目录为/WEB-INF/classes下&set-property
property="contextConfigLocation" value="/WEB-INF/classes/applicationContext.xml"/&
与系统属性文件ApplicationResources不同,虽然文件发布后的路径也为/WEB-INF/classes
但是却可以如下配置&message-resources parameter="ApplicationResources" /&
3.3. 修改 Spring 配置文件 applicationContext.xml
&?xml version="1.0" encoding="UTF-8"?&
&!DOCTYPE PUBLIC "http://www.springframework.org/dtd/spring-beans.dtd"&
&bean name="/login" class="struts.action.LoginAction"&&/bean&
  粗体字是关于接受和处理 Action 控制权的配置内容,"com.login.struts.action.LoginAction" 即为原 struts 里的配置。3.4. 增加log4j日志功能
增加日志功能方便调试程序,log4j.properties文件如下
=INFO, A1, R
=org.apache.log4j.ConsoleAppender
=org.apache.log4j.PatternLayout
=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
#R 输出到文件 RollingFileAppender的扩展,可以提供一种日志的备份功能。
=org.apache.log4j.DailyRollingFileAppender
#详细日志文件保存在C盘目录下的login.log文件中
=c:/login.log
='.'yyyy-MM-dd
=org.apache.log4j.PatternLayout
=%d{yyyy-MM-dd HH:mm} %5p %c{1}: %L: %m%n
注意: Add Struts Capabilities时并没有加入log4j.jar包,为了提供log4j功能,需要加上log4j.jar。
这里是因为导入Spring的时候附带导入了log4j.jar包,所以此处不用再另外导入log4j.jar包3.5. 测试  同上一次测试。测试成功证明 Spring 运行正常。
4. Hibernate 部分
下面开始 Hibernate 部分,将原例修改为使用数据库进行用户名/密码验证。4.1. 创建 sqlserver2000 数据库和表  添加表其中有id(标识),username,和password字段:
SQL代码如下:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[users]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[users]
CREATE TABLE [dbo].[users] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[username] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[password] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
  再添加一条记录:insert into user_table (username,password) values ('aaron','123')4.2. 创建 MyEclipse 数据库驱动(DB Driver)  在 DB Brower 的菜单中选择 "New"
"Profile Name" 项输入 "MyWeb" ,
“Driver”项选择Microsoft SQL Server
"Connection URL" 为"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MyWeb"
然后输入正确的用户名(User Name)和密码(Password)按实际情况输入;
  点击 "完成(Finish)"。
接下去即可以添加Hibernate支持了。
4.3. 添加 Hibernate 功能支持  操作:[Menu] MyEclipse/Project Capabilities/Add Hibernate Capabilities
 Hibernate 版本(Hibernate Specification)选择 "Hibernate 3.1" ,开发包(libraries)选择 Hibernate 3.1 Core Libraries、Spring 1.2 ORM/DAO/Hibernate3 Libaries 两项;
(如果出java.lang.NoClassDefFoundError: org/hibernate/cfg/HbmBinder$SecondPass异常,则是因为导入的包hibernate3.jar和 hibernate-annotations.jar的冲突,直接删除hibernate-annotations.jar即可)
  JAR Library Installation 选择 "copy checked..." ,"Library Folder" 选择 "/WebRoot/WEB-INF/lib" 。  点击 "下一步(Next)" 设置配置文件,选择 "Spring configuration file (applicationContext.xml)" 。
  "下一步(Next)" 设置 Spring-Hibernate,选择 "Existing Spring configuration file" ,"SessionFactory ID" 项输入 "sessionFactory" 。
  "下一步(Next)" 创建数据源对象,在 Bean Id 中输入 dataSource,"DataSource" 项选择 "Use JDBC Dirver" ,DB Driver 项选择 "MyWeb" ,其余项会自动填充;
  记得选中 "Copy DB driver jar(s) to project and add to buidpath" 项,以便将数据连接的库文件复制到项目,方便以后的布署。  "下一步(Next)" 创建 SessionFactory 类,"Java package" 项设置为 "hibernate" (没有则点击"New"按钮添加),"Class name" 项保持默认即可"HibernateSessionFactory" ,Java Compliance Level选择和创建项目时选择的Java版本。(本例中并没有用到HibernateSessionFactory类,留作今后扩展)
点击 "完成(Finish)"。此时会自动建立hibernate.HibernateSessionFactory.java类
applicationContext.xml文件内会根据先前的配置自动添加dataSource和sessionFactory节点
&?xml version="1.0" encoding="UTF-8"?&
&!DOCTYPE PUBLIC "http://www.springframework.org/dtd/spring-beans.dtd"&
&bean name="/login" class="struts.action.LoginAction"&&/bean&
&bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource"&
&property name="driverClassName"&
&value&com.microsoft.jdbc.sqlserver.SQLServerDriver&/value&
&/property&
&property name="url"&
&value&jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MyW&/value&
&!-- 上面&value&...&/alue&要在同一行,我在自动创建后没在同一行,修改一下即可。否则会出异常 --&
&/property&
&property name="username"&
&value&sa&/value&
&/property&
&property name="password"&
&value&123456&/value&
&/property&
&bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"&
&property name="dataSource"&
&ref bean="dataSource" /&
&/property&
&property name="hibernateProperties"&
&prop key="hibernate.dialect"&
org.hibernate.dialect.SQLServerDialect
&/property&
&/bean&&/beans&
此时如果报错: Class ‘org.apache.commons.dbcp.BasicDataSource’ not found,是因为没有导入依赖包commons-dbcp.jar,导入此包即可
&value&...&/alue&要在同一行,否则可能会出连接数据库失败。
4.4. 创建对象关系映射(ORM)的相关文件  操作:[Menu] Window/Open Perspective/MyEclipse Database Explorer
  选中 users 表,点击右键,在出现的菜单中选择 "Hibernate Reverse Engnieering" 。
1、在弹出的窗口中保持 "Java package" 项为 "model" ;  2、选中 "Hibernate mapping file (*.hbm.xml) for each databases table" ,并保持 "Update hibernate..." 项选中;  3、选中 "Java Data Object" 项,并保持 "Create abstract class" 选中;  "Base persistent class" 项留空;  4、取消 "Java Data Access Object..." 项和 "Use custom templates" 项。  点击 "下一步(Next)" ,
再点击 "下一步(Next)" ,
在 "Configure reverse engineering details" 页选中 "users" 表,在右边出现的 "Class Name" 项中输入 "model.Users",其它不变。  点击 "完成(Finish)"。  完成此操作,会在 "model" 包下创建三个文件:AbstractUsers.java、Users.java、Users.hbm.xml。此时sessionFactory部分会添加Users.hbm.xml映射文件的相关信息
&bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"&
&property name="dataSource"&
&ref bean="dataSource" /&
&/property&
&property name="hibernateProperties"&
&prop key="hibernate.dialect"&
org.hibernate.dialect.SQLServerDialect
&/property&
&property name="mappingResources"&
&value&model/Users.hbm.xml&/value&&/list&
&/property&&/bean&
4.5. 创建 IUsersDAO.java 接口和 UsersDAO.java 类  IUsesDAO.java 内容如下:
import model.Users;
publicinterface IUsersDAO {
publicabstractboolean isValidUser(Users user);
UsersDAO.java 内容如下:
import java.util.L
import model.U
import org.springframework.orm.hibernate3.support.HibernateDaoS
publicclass UsersDAO extends HibernateDaoSupport implements IUsersDAO {
publicboolean isValidUser(Users user) {
// TODO自动生成方法存根
List list= this.getHibernateTemplate().findByExample(user);
if(list.size()&0)
returntrue;
returnfalse;
此处的HibernateDaoSupport的路径可能有多个(可能导入了许多其它的包),注意此处的父类
为org.springframework.orm.hibernate3.support.HibernateDaoSupport
而不是org.springframework.orm.hibernate.support.HibernateDaoSupport
4.6. 修改 LoginAction.java 文件  在LoginAction.java类中定义属性publicIUsersDAOusersDao;并定义了一个setUsersDao(IUsersDAO usersDao)方法,可以让我们注入IUsersDAO的实例,在Action中使用IUsersDAO对象来验证用户信息:(IUsersDAO必须为接口类型)
package struts.
import javax.servlet.http.HttpServletR
import javax.servlet.http.HttpServletR
import model.Users;
import org.apache.struts.action.A
import org.apache.struts.action.ActionE
import org.apache.struts.action.ActionE
import org.apache.struts.action.ActionF
import org.apache.struts.action.ActionF
import org.apache.struts.action.ActionM
import dao.IUsersDAO;
import struts.form.LoginF
publicclass LoginAction extends Action {
public IUsersDAO usersDao;
publicvoid setUsersDao(IUsersDAO usersDao){
this.usersDao= usersD
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
LoginForm loginForm = (LoginForm)// TODO Auto-generated method stub
String username= loginForm.getUsername();
String password= loginForm.getPassword();
ActionErrors errors= new ActionErrors();
Users user= new Users();
user.setUsername(username);
user.setPassword(password);
if(!usersDao.isValidUser(user)){
errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("error.nameOrPassword.required"));
//如果登录失败,则判定用户名或密码错误
saveErrors(request, errors);
return mapping.findForward("fail");
return mapping.findForward("success");
4.7. 修改Spring配制文件 applicationContext.xml(1)、定义UsersDAO节点,注入HibernateSessionFactory对象sessionFactory(属性及对应setter方法通过继承HibernateDaoSupport而来)
&bean id="usersDAO" class="dao.UsersDAO"&
&property name="sessionFactory"&
&ref bean="sessionFactory"/&
&/property&
(2)、增加事务功能
&bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"&
&property name="sessionFactory"&
&ref bean="sessionFactory"/&
&/property&
(3)、建立代理
&bean id="usersDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"&
&property name="transactionManager"&
&ref bean="transactionManager"/&
&/property&
&property name="target"&
&ref local="usersDAO"/&
&/property&
&property name="transactionAttributes"&
&prop key="is*"&PROPAGATION_REQUIRED&/prop&
&/property&
(4)、修改处理用户请求的Controller定义,因为在LoginAction中定义了IUsersDAOusersDao属性,并提供了对应的setter方法,所以需要在配置文件中注入信息,把dao.UsersDAO的代理注入进来
&bean name="/login" class="struts.action.LoginAction"&
&property name="usersDao"&
&ref bean="usersDAOProxy"/&
&/property&
完整的applicationContext.xml内容如下:
&?xml version="1.0" encoding="UTF-8"?&
&!DOCTYPE PUBLIC "http://www.springframework.org/dtd/spring-beans.dtd"&
&bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource"&
&property name="driverClassName"&
&value&com.microsoft.jdbc.sqlserver.SQLServerDriver&/value&
&/property&
&property name="url"&
&value&jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MyW&/value&
&!-- 上面&value&...&/alue&要在同一行,我在自动创建后没在同一行,修改一下即可。否则会出异常 --&
&/property&
&property name="username"&
&value&sa&/value&
&/property&
&property name="password"&
&value&123456&/value&
&/property&
&bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"&
&property name="dataSource"&
&ref bean="dataSource" /&
&/property&
&property name="hibernateProperties"&
&prop key="hibernate.dialect"&
org.hibernate.dialect.SQLServerDialect
&/property&
&property name="mappingResources"&
&value&model/Users.hbm.xml&/value&&/list&
&/property&
&bean id="usersDAO" class="dao.UsersDAO"&
&property name="sessionFactory"&
&ref local="sessionFactory"/&
&/property&
&bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"&
&property name="sessionFactory"&
&ref local="sessionFactory"/&
&/property&
&bean id="usersDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"&
&property name="transactionManager"&
&ref bean="transactionManager"/&
&/property&
&property name="target"&
&ref local="usersDAO"/&
&/property&
&property name="transactionAttributes"&
&prop key="is*"&PROPAGATION_REQUIRED,readOnly&/prop&
&/property&
&bean name="/login" class="struts.action.LoginAction"&
&property name="usersDao"&
&ref bean="usersDAOProxy"/&
&/property&
4.8. 测试  测试抛出java.lang.NoClassDefFoundError: org/hibernate/cfg/HbmBinder$SecondPass。按前面说的方法,把hibernate-annotations.jar彻底删除。
再测试,成功。
如果还有问题的,可对照log文件找异常信息
浏览: 42189 次
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'新手了解SSH三大框架有不错的书推荐吗?看过的再发表意见,别随便搜个就说好_百度知道
新手了解SSH三大框架有不错的书推荐吗?看过的再发表意见,别随便搜个就说好
我有更好的答案
如果要了解,张孝祥、李刚还有其他作者写的实战的书都是很好的。因为你先了解怎么用,然后才能在实践中去了解为什么。
采纳率:84%
为您推荐:
其他类似问题
ssh的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。学习javaweb开发,想买一本整本书讲一个项目的 ,需要用到SSH框架的讲解越详细越好!初学者_百度知道
学习javaweb开发,想买一本整本书讲一个项目的 ,需要用到SSH框架的讲解越详细越好!初学者
我在培训班培训过,学习过SSH框架,但是不会应用。求大神指点,所有的金币全悬赏了 推荐好了全给了
我有更好的答案
推荐你还是看视频,网上有很多这方面的视频,我个人觉得比看书好多了。我当时看的就是马士兵的视频,struts,hibernate,spring每个一部分,最后整合在一起,做了项目例子,挺好的!
采纳率:100%
还是先找份工作,在工作中学习吧,不然你会发现,你看完一本书,再去面试效果还是不大,可以暂时性的找一份工作,哪怕工资低点,先进去学习一下,积累点经验,初学者要学会放低姿态,不要总想着一开始就拿高工资,现在找份工作,十一月份跳槽还是很不错的,十一月份也算是找工作的黄金期哦
我现在就是找不到工作想看看 毕竟看看还是有好处的 ,马上中秋 然后十一,这段时间我很犹豫 很闹心 。着急找工作啊 沈阳的鞍山也行 能有给推荐的更好啊别说这积分 请吃饭啥的都行不要求工资多少 学习是主要的
不太了解鞍山的情况,不过这方面找工作最好还是去大连或是北京好找一些,如果可以的话可以试试,不要先否定自己,觉得自己的基础不错就试试,不要总以为我再学一点就能找到好工作,现在企业招人不一定非要看你技术有多好,接受新知识的速度,看待问题的眼光,也很重要
JAVA入门基础。深入企业级JAVA 这两本书都不错的, 你可以买来看看
Java web开发实战攻略
其他1条回答
为您推荐:
其他类似问题
您可能关注的内容
ssh框架的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 myeclipse安装教程 的文章

 

随机推荐