Eclipse+Struts2+Spring+MyBatis+json+gson环境搭建.docx

上传人:b****8 文档编号:10197053 上传时间:2023-02-09 格式:DOCX 页数:60 大小:1.78MB
下载 相关 举报
Eclipse+Struts2+Spring+MyBatis+json+gson环境搭建.docx_第1页
第1页 / 共60页
Eclipse+Struts2+Spring+MyBatis+json+gson环境搭建.docx_第2页
第2页 / 共60页
Eclipse+Struts2+Spring+MyBatis+json+gson环境搭建.docx_第3页
第3页 / 共60页
Eclipse+Struts2+Spring+MyBatis+json+gson环境搭建.docx_第4页
第4页 / 共60页
Eclipse+Struts2+Spring+MyBatis+json+gson环境搭建.docx_第5页
第5页 / 共60页
点击查看更多>>
下载资源
资源描述

Eclipse+Struts2+Spring+MyBatis+json+gson环境搭建.docx

《Eclipse+Struts2+Spring+MyBatis+json+gson环境搭建.docx》由会员分享,可在线阅读,更多相关《Eclipse+Struts2+Spring+MyBatis+json+gson环境搭建.docx(60页珍藏版)》请在冰豆网上搜索。

Eclipse+Struts2+Spring+MyBatis+json+gson环境搭建.docx

Eclipse+Struts2+Spring+MyBatis+json+gson环境搭建

1.准备安装文件

以下为需要准备的文件清单,从相应网址下载到本地,表格中列出的版本号是截止到2012年5月6日的最新版本。

序号

库类型

版本

文件名

下载地址

1

Struts2

2.3.3

struts-2.3.3-all.gz

http:

//struts.apache.org/

2

Spring

3.1.0

spring-framework-3.1.1.RELEASE-with-docs.zip

http:

//springframework.org/

3

Mybatis

3.1.1

mybatis-3.1.1-bundle.zip

mybatis-spring-1.1.1-bundle.zip

mybatis-generator-core-1.3.1-bundle.zip

4

jquery

1.7.2

jquery-1.7.2.js

4

Eclipse

EclipseIDEforJavaEEDevelopers,

eclipse-jee-indigo-SR2-win32.zip

http:

//www.eclipse.org/downloads/

5

tomcat

7.0.27

apache-tomcat-7.0.27-windows-x86.zip

http:

//tomcat.apache.org/

Struts2

下载包含了库和代码、例子的全包:

struts-2.3.3-all.gz,大约在76m,文件较大,但其中的空应用例程可作为直接拷贝的参考。

Spring

下载包含了库和代码、例子的全包:

spring-framework-3.1.1.RELEASE-with-docs.zip

MyBatis

2.新建WEB工程

选择WEB下DynamicWebProject类型的工程:

工程命名为EMS,其它选项保持默认。

文件夹名保持默认

勾上生成web.xml选项,其它保持默认。

最后得到一个如下组织的WEB工程.

补充:

在JavaResources/src目录上通过右键菜单将JAVA代码下编译输出目录修改至WebContent/WEB-INF/classes目录,与myEclipse的默认方式保持一致,便于实时发布,如果不做这一步class等文件不会自动输出到WEB-INF下。

3.配置Tomcat服务器

切换Servers页签:

※建议不采用eclipse的应用发布功能,改用修改Tomcat配置文件的方式来实现发布,因此这里暂时不作选择。

在Eclipse中测试启动Tomcat服务器:

采用修改Tomcat配置的方式来发布应用(建议采用,这是相对快捷的发布

1、双击tomcat服务器,打开配置选项,将ServerLocation选项置为第二个:

2、用文本编辑器打开:

D:

\tomcat\apache-tomcat-7.0.27\conf\server.xml文件,在Host节点之上增加虚拟目录描述:

--Accesslogprocessesallexample.

Documentationat:

/docs/config/valve.html

Note:

Thepatternusedisequivalenttousingpattern="common"-->

3、在WebContent目录下新建一个默认JSP页面:

NewFile.jsp,打印一行信息:

HelloWorld!

Inserttitlehere

HelloWorld!

4、在eclipse中重启tomcat,在浏览器中敲入URL:

http:

//localhost:

8080/ems/NewFile.jsp

验证是否看到正确的输出信息。

配置TOMCAT管理界面

打开:

D:

\tomcat\apache-tomcat-7.0.27\conf\tomcat-users.xml文件,加入:

之后通过admin/admin即可登陆管理界面。

4.配置Structs2

搭建环境

从已下载的struts-2.3.3-all.gz文件中解压出自带的一个空例程:

struts2-blank,直接从展开的文件夹中复制内容过来:

1)复制struts2-blank\WEB-INF\lib目录下的所有JAR包到该工程的WEB-INF/lib目录下

2)打开struts2-blank\WEB-INF\web.xml,复制其中过滤器到该工程相同目录下web.xml,,让struts2在tomcat启动的时候加载:

struts2

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

struts2

/*

3)重启Tomcat服务,观察输出的日志,当发现启动日志中包含有“org.apache.struts2”关键字,且无异常抛出,说明struts2的装载过程正常。

编写一个action验证配置正确性

1)在src下新建action包:

com.jsdz.action,包中新建测试action类,该类继承至ActionSupport,命名为:

LoginAction,用作登陆跳转:

packagecom.jsdz.action;

importcom.opensymphony.xwork2.ActionSupport;

publicclassLoginActionextendsActionSupport{

privateStringusername;

privateStringpassword;

@Override

publicStringexecute()throwsException{

System.out.println("LoginActionexecuteinvoked!

");

if(username.equals("admin")&&password.equals("1234"))

{

System.out.println("userok");

returnSUCCESS;

}

else

{

System.out.println("userinvalid");

returnINPUT;

}

}

publicStringgetUsername(){

returnusername;

}

publicvoidsetUsername(Stringusername){

this.username=username;

}

publicStringgetPassword(){

returnpassword;

}

publicvoidsetPassword(Stringpassword){

this.password=password;

}

}

2)在将LoginAction类配置到struts2的配置文件中,该文件同样可以从例程工程中拷贝过来简单修改:

xmlversion="1.0"encoding="UTF-8"?

>

DOCTYPEstrutsPUBLIC

"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.3//EN"

"http:

//struts.apache.org/dtds/struts-2.3.dtd">

/main.jsp

/login.jsp

注意:

此时的action实例还是由struts自己来维护,class取值包含完整的路径。

3)新建两个JSP页面:

login.jsp(登陆页面)、main.jsp(登陆成功页面,提示用户登陆成功).流程说明:

用户输入用户名和密码,必须是admin/1234才给验证通过转到main.jsp页面,否则仍然返回到login.jsp页面。

login.jsp

<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%>

<%@taglibprefix="s"uri="/struts-tags"%>

DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http:

//www.w3.org/TR/html4/loose.dtd">

Inserttitlehere

formaction="login"namespace="/"theme="simple">

username:

textfieldname="username"size="20"/>

password:

passwordname="password"size="20"/>

submitlabel="submit">

submit>

form>

※注意:

标红的部分容易出错,namespace都带上相同的取值,s:

form的action上不带.action.

main.jsp

<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%>

DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http:

//www.w3.org/TR/html4/loose.dtd">

Inserttitlehere

用户:

${requestScope.username},欢迎您登陆

4)在浏览器中敲入http:

//localhost:

8080/ems/login.jsp进行验证.

增加异常处理机制

采用struts2自有的异常处理机制,避免所有地方加上try/catch。

1)增加包com.jsdz.exception,并在其中增加自定义业务异常类BusinessException.java。

packagecom.jsdz.exception;

publicclassBusinessExceptionextendsRuntimeException{

privatestaticfinallongserialVersionUID=0xc1a865c45ffdc5f9L;

publicBusinessException(StringfrdMessage){

super(createFriendlyErrMsg(frdMessage));

}

publicBusinessException(Throwablethrowable){

super(throwable);

}

publicBusinessException(Throwablethrowable,StringfrdMessage){

super(throwable);

}

privatestaticStringcreateFriendlyErrMsg(StringmsgBody){

StringprefixStr="抱歉,";

StringsuffixStr="请稍后再试或与管理员联系!

";

StringBufferfriendlyErrMsg=newStringBuffer("");

friendlyErrMsg.append(prefixStr);

friendlyErrMsg.append(msgBody);

friendlyErrMsg.append(suffixStr);

returnfriendlyErrMsg.toString();

}

}

2)增加包com.jsdz.interceptor,增加一个异常转化的拦截器类:

BusinessInterceptor.java。

packagecom.jsdz.interceptor;

importjava.io.IOException;

importjava.sql.SQLException;

importcom.jsdz.exception.BusinessException;

importcom.opensymphony.xwork2.ActionInvocation;

importcom.opensymphony.xwork2.interceptor.AbstractInterceptor;

publicclassBusinessInterceptorextendsAbstractInterceptor{

@Override

publicStringintercept(ActionInvocationinvocation)throwsException{

System.out.println("BusinessInterceptorintercept()invoked!

");

before(invocation);

Stringresult="";

try{

result=invocation.invoke();

}catch(DataAccessExceptionex){

thrownewBusinessException("数据库操作失败!

");

}catch(NullPointerExceptionex){

thrownewBusinessException("调用了未经初始化的对象或者是不存在的对象!

");

}catch(IOExceptionex){

thrownewBusinessException("IO异常!

");

}catch(ClassNotFoundExceptionex){

thrownewBusinessException("指定的类不存在!

");

}catch(ArithmeticExceptionex){

thrownewBusinessException("数学运算异常!

");

}catch(ArrayIndexOutOfBoundsExceptionex){

thrownewBusinessException("数组下标越界!

");

}catch(IllegalArgumentExceptionex){

thrownewBusinessException("方法的参数错误!

");

}catch(ClassCastExceptionex){

thrownewBusinessException("类型强制转换错误!

");

}catch(SecurityExceptionex){

thrownewBusinessException("违背安全原则异常!

");

}catch(SQLExceptionex){

thrownewBusinessException("操作数据库异常!

");

}catch(NoSuchMethodErrorex){

thrownewBusinessException("方法末找到异常!

");

}catch(InternalErrorex){

thrownewBusinessException("Java虚拟机发生了内部错误");

}catch(Exceptionex){

thrownewBusinessException("程序内部错误,操作失败!

");

}

after(invocation,result);

returnresult;

}

/**

*验证登陆等...

*@paraminvocation

*@return

*@throwsException

*/

publicvoidbefore(ActionInvocationinvocation)throwsException{

//...

}

/**

*记录日志等...

*@paraminvocation

*@return

*@throwsException

*/

publicvoidafter(ActionInvocationinvocation,Stringresult)throwsException{

//...

}

}

3)在WebContent目录下新建error.jsp,代表出错跳转的页面:

<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%>

<%@taglibprefix="s"uri="/struts-tags"%>

DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http:

//www.w3.org/TR/html4/loose.dtd">

error

propertyvalue="exception.message"/>

页面简单的打印出异常信息。

4)在struts.xml配置文件中加入拦截器及错误跳转指示:

xmlversion="1.0"encoding="UTF-8"?

>

DOCTYPEstrutsPUBLIC

"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.3//EN"

"http:

//struts.apache.org/dtds/struts-2.3.dtd">

--注册拦截器-->

--设置默认拦截器栈-->

--全局跳转页面-->

/error.jsp

--全局异常-->

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1