javassist.jar有什么用,android开发用什么从服务器获取数据
各位老铁们,大家好,今天由我来为大家分享javassist.jar有什么用,以及android开发用什么从服务器获取数据的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!
android开发用什么从服务器获取数据
在android中有时候我们不需要用到本机的SQLite数据库提供数据,更多的时候是从网络上获取数据,那么Android怎么从服务器端获取数据呢?有很多种,归纳起来有
一:基于Http协议获取数据方法。二:基于SAOP协议获取数据方法,三:忘了-------
那么我们的这篇文章主要是将关于使用Http协议获取服务器端数据,这里我们采取的服务器端技术为java,框架为Struts2,或者可以有Servlet,又或者可直接从JSP页面中获取数据。
那么,接下来我们便开始这一路程:
首先:编写服务器端方法,我这里采用的MVC框架是Struts2,目的很单纯,就是为了以后做个完整的商业项目,技术配备为:android+SSH。当然,篇幅有限,我这里就直接用Strtus2而已。
服务器端:新建WebProject,选择Java ee 5.0.
为了给项目添加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有什么用的内容到此结束,希望对大家有所帮助。