各位大大求帮助javaweb+Android
搞不懂怎么联通javaweb和我的Android程序请大大指点学了1周就知道点,这代码问题出在哪里?我用的是struts2和hibernate没用sping ,sping太麻烦我有记者用求各位大大指点。
web:
package com.baby.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import com.baby.bean.Accounts;
import com.baby.biz.AccountsBIZ;
import com.opensymphony.xwork2.ActionSupport;
public class AccountsAction extends ActionSupport {
/**
*
*/
private static final long serialVersionUID = 1L;
private Accounts account;
public String execute() throws Exception {
HttpServletResponse response=ServletActionContext.getResponse();
HttpServletRequest request=ServletActionContext.getRequest();
response.setCharacterEncoding("utf-8");
response.setContentType("text/html");
String name=request.getParameter("name");
String pwd=request.getParameter("pwd");
this.setAccount(new AccountsBIZ().accountLogin(name, pwd));
return SUCCESS;
}
public Accounts getAccount() {
return account;
}
public void setAccount(Accounts account) {
this.account = account;
}
}
accounts略
package com.baby.biz;
import com.baby.bean.Accounts;
import com.baby.dao.AccountsDAO;
public class AccountsBIZ {
public Accounts accountLogin(String name,String pwd){
Accounts account=new AccountsDAO().getUserByName(name);
return account;
}
}
package com.baby.dao;
import org.hibernate.Query;
import org.hibernate.Session;
import com.baby.bean.Accounts;
public class AccountsDAO {
public Accounts getUserByName(String name){
Accounts account=null;
Session session = null;
try{
session = HibernateUtil.getSession();
String hql="from account where name="+name;
Query query = session.createQuery(hql);
account=(Accounts)query.uniqueResult();
}
catch(Exception e){
e.printStackTrace();
}
finally{
HibernateUtil.closeSession(session);
}
return account;
}
}
package com.baby.dao;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class HibernateUtil {
private static SessionFactory factory;
static{
try{
Configuration conf=new Configuration().configure();
factory=conf.buildSessionFactory();
}catch(Exception e){
e.printStackTrace();
}
}
public static SessionFactory getSessionFactory(){
return factory;
}
public static Session getSession(){
return factory.openSession();
}
public static void closeSession(Session session){
if(session!=null){
if(session.isOpen()){
session.close();
}
}
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<constant name="struts.i18n.encoding" value="UTF-8"/>
<package name="com.baby.action" extends="json-default">
<action name="accountsAction" class="com.baby.action.AccountsAction">
<result type="json" />
</action>
</package>
</struts>
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>
<session-factory>
<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
<property name="connection.url">jdbc:oracle:thin:@localhost:1521:xe</property>
<property name="connection.username">yt</property>
<property name="connection.password">yt5201220</property>
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="myeclipse.connection.profile">oraclDriver</property>
<mapping resource="com/baby/bean/Users.hbm.xml" />
</session-factory>
</hibernate-configuration>
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
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_3_0.xsd">
<display-name></display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping></web-app>
android:
package com.example.babylearn;
import com.example.dbtool.Baby_L_dbUsercontrol;
import com.example.tool.ConnectWeb;
import com.example.tool.DataShare;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
private Button loginbtn;
private Button registerbtn;
private EditText accountev1_2 = null;
private EditText passwordev1_4 = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
loginbtn = (Button) findViewById(R.id.loginbtn);
registerbtn = (Button) findViewById(R.id.registerbtn);
accountev1_2 = (EditText) findViewById(R.id.accountev1_2);
passwordev1_4 = (EditText) findViewById(R.id.passwordev1_4);
loginbtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
account theuser=new ConnectWeb().userLogin(accountev1_2.getText().toString(),passwordev1_4.getText().toString());
if(theuser!=null){
// DataShare.user.setId(theuser.getId());//设置用户id
// DataShare.user.setAname(theuser.getAname());//设置用户昵称
// DataShare.user.setUserPwd(theuser.getUserPwd());//设置用户密码
// Toast.makeText(ViewLogin.this, "登录成功", Toast.LENGTH_LONG).show();
// //登录成功后进入购物车
Toast toast=Toast.makeText(MainActivity.this, "登陆成功",
Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
Intent intent = new Intent();
intent.setClass(MainActivity.this, MainInterface.class);
startActivity(intent);
}else{
Toast toast=Toast.makeText(MainActivity.this, "登陆失败",
Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
Intent intent = new Intent();
intent.setClass(MainActivity.this, Register.class);
startActivity(intent);
}
}
});
registerbtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(MainActivity.this, Register.class);
startActivity(intent);
finish();
}
});
}
}
package com.example.tool;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.json.JSONObject;
import com.example.babylearn.account;
public class ConnectWeb {
public static String path = "http://localhost:8888/BabyLearnWeb/";
private String connWeb(String url) {
String str = "";
try {
HttpGet request = new HttpGet(url);
HttpClient httpClient = new DefaultHttpClient();
HttpResponse response = httpClient.execute(request);
if (response.getStatusLine().getStatusCode() == 200) {
str = EntityUtils.toString(response.getEntity());
}
} catch (Exception e) {
e.printStackTrace();
}
return str;
}
public account userLogin(String aname, String pwd) {
account account = null;
String url = path + "usersAction.action?aname=" + aname + "&pwd="
+ pwd;
String str = connWeb(url);
try {
JSONObject job = new JSONObject(str);
JSONObject job2 = (JSONObject) job.get("account");
account = new account();
account.setId(job2.getInt("id"));
account.setAname(job2.getString("aname"));
account.setUserPwd(job2.getString("pwd"));
System.out.println("aaa:" + job.getInt("id") + ","
+ job.getString("aname") + "," + job.getString("pwd"));
} catch (Exception e) {
e.printStackTrace();
}
return account;
}
}