首页编程java编程javassist.jar有什么用,android开发用什么从服务器获取数据

javassist.jar有什么用,android开发用什么从服务器获取数据

编程之家 2023-10-10 105次浏览

各位老铁们,大家好,今天由我来为大家分享javassist.jar有什么用,以及android开发用什么从服务器获取数据的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

javassist.jar有什么用,android开发用什么从服务器获取数据

android开发用什么从服务器获取数据

在android中有时候我们不需要用到本机的SQLite数据库提供数据,更多的时候是从网络上获取数据,那么Android怎么从服务器端获取数据呢?有很多种,归纳起来有

一:基于Http协议获取数据方法。二:基于SAOP协议获取数据方法,三:忘了-------

那么我们的这篇文章主要是将关于使用Http协议获取服务器端数据,这里我们采取的服务器端技术为java,框架为Struts2,或者可以有Servlet,又或者可直接从JSP页面中获取数据。

javassist.jar有什么用,android开发用什么从服务器获取数据

那么,接下来我们便开始这一路程:

首先:编写服务器端方法,我这里采用的MVC框架是Struts2,目的很单纯,就是为了以后做个完整的商业项目,技术配备为:android+SSH。当然,篇幅有限,我这里就直接用Strtus2而已。

服务器端:新建WebProject,选择Java ee 5.0.

javassist.jar有什么用,android开发用什么从服务器获取数据

为了给项目添加Struts2的支持,我们必须导入Struts2的一些类库,如下即可(有些jar包是不必的,但是我们后来扩展可能是要使用到的,就先弄进去):

1: xwork-core-2.2.1.1.jar

2: struts2-core-2.2.1.1.jar

3: commons-logging-1.0.4.jar

4: freemarker-2.3.16.jar

5: ognl-3.0.jar

6: javassist-3.7.ga.jar

7:commons-ileupload.jar

8:commons-io.jar

9:json-lib-2.1-jdk15.jar处理JSON格式数据要使用到

10:struts2-json-plugin-2.2.1.1.jar基于struts2的json插件

以上的jar包,需要放在WebRoot/WEB-INF/lib目录下

然后在web.xml文件中敲下:

View Code

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.5"

xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<!--定义Struts2的核心控制器:FilterDispatcher-->

<filter>

<!--定义核心Filter的名称-->

<filter-name>struts2</filter-name>

<!--定义Filter的实现类-->

<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>

</filter>

<filter-mapping>

<filter-name>struts2</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

<welcome-file-list>

<welcome-file>index.jsp</welcome-file>

</welcome-file-list>

</web-app>

然后编写struts.xml文件,并放在WebRoot/WEB-INF/lib目录下:如下代码:

View Code

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts PUBLIC

"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>

<!-- setting encoding,DynamicMethod,language

<constant name="struts.custom.i18n.resources" value="messageResource"></constant>

-->

<constant name="struts.i18n.encoding" value="UTF-8"></constant>

<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>

<!-- add package here extends="struts-default"-->

<package name="dongzi" extends="json-default"><!--需要将struts-default改为json-default-->

<!-- setting action-->

<action name="login" class="bchome-c0de-f26a-467e-7151 com.dongzi.action.loginAction" method="login">

<result type="json"></result><!--返回值类型设置为json,不设置返回页面-->

</action>

</package>

</struts>

配置好后,我们再根据<action>标签内容来编写action。方法为method对应的login,类名为loginAction,

注意:包继承为:json-default,输出结果类型为json

如下:

View Code

public class loginAction extends ActionSupport implements

ServletRequestAware,ServletResponseAware{

/**

*

*/

private static final long serialVersionUID= 1L;

HttpServletRequest request;

HttpServletResponse response;

public void setServletRequest(HttpServletRequest request){

this.request=request;

}

public void setServletResponse(HttpServletResponse response){

this.response=response;

}

public void login(){

try{

//HttpServletRequest request=ServletActionContext.getRequest();

// HttpServletResponse response=ServletActionContext.getResponse();

this.response.setContentType("text/html;charset=utf-8");

this.response.setCharacterEncoding("UTF-8");

if(this.request.getParameter("username").equals("123456")){

this.response.getWriter().write("真的很奇怪,日本人!");

}else if(this.request.getParameter("username").equals("zhd")){

this.response.getWriter().write("没有错,我就是东子哥!");

}else{

this.response.getWriter().write("我就是东子哥!");

}

//将要返回的实体对象进行json处理

// JSONObject json=JSONObject.fromObject(this.getUsername());

//输出格式如:{"id":1,"username":"zhangsan","pwd":"123"}

// System.out.println(json);

// this.response.getWriter().write(json.toString());

/**

JSONObject json=new JSONObject();

json.put("login","login");

response.setContentType("text/html;charset=utf-8");

System.out.println(json);

byte[] jsonBytes= json.toString().getBytes("utf-8");

response.setContentLength(jsonBytes.length);

response.getOutputStream().write(jsonBytes);

**/

/**

JSONObject json=new JSONObject();

json.put("login","login");

byte[] jsonBytes= json.toString().getBytes("utf-8");

response.setContentType("text/html;charset=utf-8");

response.setContentLength(jsonBytes.length);

response.getOutputStream().write(jsonBytes);

response.getOutputStream().flush();

response.getOutputStream().close();

**/

} catch(Exception e){

e.printStackTrace();

}

// return null;

}

}

运行查看下:http://localhost:8080/PDAServer/login.action?username=123456当然你可以输入其他参数的URL

sshc3p0连接池所需jar包有哪些

Hibernate Jar:

1、hibernate3.jar,这个是hibernate3.0的核心jar包,没的选,像我们常用的Session,Query,Transaction都位于这个jar文件中,必要。

2、cglib-2.1.3.jar,CGLIB库,Hibernate用它来实现PO字节码的动态生成,非常核心的库,必要。

3、asm.jar ASM字节码库如果使用“cglib”则必要,必要

4、asm-attrs.jar ASM字节码库如果使用“cglib”则必要,必要

5、ehcache.jar EHCache缓存如果没有其它缓存,则必要,必要

6、antlr.jar ANother

Tool for Language Recognition是一个工具,必要

7、jta.jar JTA规范,当Hibernate使用JTA的时候需要,不过App Server都会带上,所以也是多余的。但是为了测试方便建议还是带上。必要

8、commons-logging.jar Apache Commons包中的一个,包含了日志功能,必须使用的jar包。必要

9、commons-collections.jar Apache Commons包中的一个,包含了一些Apache开发的集合类,功能比java.util.*强大。必要

10、dom4j.jar是一个Java的XML API,类似于jdom,用来读写XML文件的。Hibernate用它来读写配置文件。必要

上面的就是Hibernate的核心jar包,是配置ssh架构中必须的,下面这些就是可选的了。

=========================================================

versioncheck.jar版本检查可选

swarmcache.jar可选

jboss-cache.jar TreeCache可选

jgroups.jar可选

xalan.jar, xerces.jar, xml-apis.jar

Xerces是XML解析器,Xalan是格式化器,xml-apis实际上是JAXP。一般App

Server都会带上,JDK1.4也包含了解析器,不过不是Xerces,是Crimson,效率比较差,不过Hibernate用XML只不过是读取

配置文件,性能没什么要紧的,所以也是多余的。可选

c3p0-0.9.1.jar C3p0是一个数据库连接池,Hibernate可以配置为使用C3P0连接池。如果你准备用这个连接池,就需要这个jar包。可选

connector.jar JCA API,如果你字啊App Server上把Hibernate配置为Connector的话,就需要这个Jar,不过实际上一般App Server肯定会带上这个包,所以也是多余的包可选

jboss-system.jar可选

jboss-system.jar使用TreeCache时必要可选

jacc-1_0-fr.jar JACC库可选

checkstyle-all.jar可选

junit.jar测试单元可选

javassist.jar Javassist字节码解释器可选

ant-lanuncher.jar可选

jaas.jar JAAS API是用来进行权限验证的,已经包含在JDK1.4里面了,所以实际上是个多余的包可选

jdbc2_0-stdext.jar JDBC扩展API,一般来说数据库连接池会用上它,不过App Server都会带上,所以也是多余的。可选

ant-antlr.jar Ant anlr支持可选

jboss-jmx.jar可选

cleanimports.jar cleanimports可选 xerces.jar SAX parser jdk本版低于1.4时必要可选

jaxen-1.1-beta-7.jar Jaxen如果想提高启动性能则去使用可选

ant-junit.jar Ant junit support可选

ant-swing.jar ant swing support

ant.jar Ant编译工具的jar包,可选

proxool.jar Proxool JDBC连接池可选

concurrent.jar使用TreeCache需要

syndiag2.jar可选

commons.collections.jar,commons-pool.jar, commons-dbcp.jar DBCP数据库连接池,Apache的Jakarta组织开发的,Tomcat的连接池也是DBCP.

Spring jar包:

spring.jar是包含有完整发布模块的单个jar包。但是不包括mock.jar, aspects.jar, spring-portlet.jar, and spring-hibernate2.jar。

除了spring.jar文件,Spring还包括有其它21个独立的jar包,各自包含着对应的Spring组件,用户可以根据自己的需要来选择组合,而不必引入整个spring.jar的所有类文件。

1、spring-core.jar

这个jar文件包含Spring框架基本的核心工具类。Spring其它的组件要都要使用到这个包里的类,是其它组件基本核心,当然你也可以在自己的系统中使用这些工具类。外部依赖(Commons Logging, Log4J)

2、spring-beans.jar

这个jar文件是所有应用都要使用到的,它包含访问配置文件,创建和管理bean以及进行Inversion of Control/ Dependency(IoC/DI)操作相关的所有类。

//如果应用只需基本的IoC/DI支持,引入spring-core.jar及spring-beans.jar文件就可以了。

eclipse打包jar过程

eclipse导出jar包有两种方式,一种是直接导出jar file,一种是导出Runnable Jar file。

直接导出jar file:仅仅是把.class文件打包了,其所依赖的其他jar包未进行打包,执行该打包后的文件需要加上第三方jar包。比如java-cp.;ch04.jar;lib01.jar com.thnkjava.ch04,其中ch04.jar为打包的jar包,lib01.jar是依赖的第三方包,执行入口是com.thnkjava.ch04类中的main函数。也可以在导出时指明入口类。

导出Runnable jar file:可以导出class文件,也可以将其依赖的所有第三方包一起导出。生成runnable jar file时,有两个选项,Extract required libraries into generated JAR和 package equired libraries into generated JAR。前者是把你用到的.class文件提取出来,后者则是把你所需要的所有jar包都打进一个包里。导出时可以指定入口函数类,具体在导出的Manifest.mf文件中。执行该jar包时,可以直接输入java-jar ch04.jar即可,此时会自动调用Manifest.mf文件中的入口函数类,其依赖的包如果是已经打包在ch04.jar包中,则不需要在Manifest.mf文件中再次指明。

首先,右击选择指定的项目,找到Export选项,点击后如下如:

然后选择“Jar file”:

接着点击“Next->”:

其中手动创建的Manifest.mf文件如下图,格式必须是按照此格式。

上面Manifest.mf文件内容如下:

Manifest-Version: 1.0

Class-Path:. meeting_cmd_lib/netty-3.8.0.Final.jar meeting_cmd_lib/gs

on-2.2.4.jar meeting_cmd_lib/mysql-connector-java-5.1.6-bin.jar meeti

ng_cmd_lib/httpcore-4.2.2.jar meeting_cmd_lib/commons-logging-1.1.1.j

ar meeting_cmd_lib/commons-logging-api-1.1.jar meeting_cmd_lib/log4j-

1.2.17.jar meeting_cmd_lib/antlr-2.7.6.jar meeting_cmd_lib/asm-attrs.

jar meeting_cmd_lib/asm.jar meeting_cmd_lib/c3p0-0.9.1.2.jar meeting_

cmd_lib/cglib-2.1.3.jar meeting_cmd_lib/commons-collections-2.1.1.jar

meeting_cmd_lib/dom4j-1.6.1.jar meeting_cmd_lib/ehcache-1.2.3.jar me

eting_cmd_lib/ejb3-persistence.jar meeting_cmd_lib/hibernate-annotati

ons.jar meeting_cmd_lib/hibernate-commons-annotations.jar meeting_cmd

_lib/hibernate-entitymanager.jar meeting_cmd_lib/hibernate-tools.jar

meeting_cmd_lib/hibernate3.jar meeting_cmd_lib/javassist.jar meeting_

cmd_lib/jdbc2_0-stdext.jar meeting_cmd_lib/jta.jar meeting_cmd_lib/jt

idy-r8-20060801.jar

Main-Class: com.kingmes.command.CmdDispacth   

 -----------此处必须有换行,引用的各jar包之间必须用空格分隔,否则解析会出错。

右击选择项目后,点击“Export”->"Runnable Jar file"。即可跳到下面页面,选择入口函数和保存路径及提取方式后,点击“Finish”即可生成。此处的Library handling选择第一项,表示会将其中的第三方包一起打包。

关于javassist.jar有什么用的内容到此结束,希望对大家有所帮助。

java中的i 是什么意思(java 中+i+ 是什么意思) java8看什么书 学java用哪本书好