团队冲刺(十)

一、认领任务

今天完成了昨天的运动时长的传递问题。下面

二、任务完成时间估算

页面布局 2h
从数据库提取 5h

个人页面

展示如下:

主要的实现代码:

myFragment



import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import android.app.Fragment;
import android.widget.ImageButton;
import android.widget.TextView;

import com.alibaba.fastjson.JSON;

import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.List;


/**
* A simple {@link Fragment} subclass.
*/
public class myFragment extends Fragment {
private View ly4;
private MyHandler handler1;
private ImageButton imageButton9;
private ImageButton imageButton11;
private ImageButton imageButton12;
private ImageButton imageButton13;
private TextView textView1;
private TextView textView2;
private TextView textView3;
private TextView textView4;
private TextView textView5;
private TextView textView6;
private TextView textView7;
class MyHandler extends Handler {
@Override
public void handleMessage(Message msg) {
// ImageView imageView = (ImageView)ly4.findViewById(R.id.imageView2);
// imageView.setImageBitmap((Bitmap)msg.obj);
imageButton11 = (ImageButton)ly4.findViewById(R.id.imageButton11);
imageButton11.setImageBitmap((Bitmap)msg.obj);

}
}

public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);

if (savedInstanceState != null) {
// Restore the fragment's state here
}
}

public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
// Save the fragment's state here

}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
if (ly4 == null) {
Intent intent = getActivity().getIntent();

final String user = intent.getStringExtra("user");
final String Szong = intent.getStringExtra("Szong");
List<user> shopInfos = JSON.parseArray(user, user.class);
final String name = intent.getStringExtra("name");
ly4 = inflater.inflate(R.layout.tab04, null);

handler1 = new MyHandler();
imageButton9 = (ImageButton) ly4.findViewById(R.id.imageButton9);
imageButton11 = (ImageButton) ly4.findViewById(R.id.imageButton11);
imageButton12 = (ImageButton) ly4.findViewById(R.id.imageButton12);
imageButton13 = (ImageButton) ly4.findViewById(R.id.imageButton13);
imageButton9.setImageResource(R.drawable.setting);
imageButton11.setImageResource(R.drawable.touxiang);
imageButton12.setImageResource(R.drawable.daka);
imageButton13.setImageResource(R.drawable.ziliao2);
textView1 = ly4.findViewById(R.id.textView17);
textView2 = ly4.findViewById(R.id.textView27);
textView3 = ly4.findViewById(R.id.textView15);
textView4 = ly4.findViewById(R.id.textView30);
textView5 = ly4.findViewById(R.id.textView19);
textView6 = ly4.findViewById(R.id.textView21);
textView7 = ly4.findViewById(R.id.textView23);
if(null == shopInfos || shopInfos.size() ==0 ){
String id =intent.getStringExtra("id");
String weight =intent.getStringExtra("weight"+"kg");
String height =intent.getStringExtra("height"+"cm");
String sex =intent.getStringExtra("sex");
String year =intent.getStringExtra("year");
String school =intent.getStringExtra("school");
textView1.setText(id);
textView2.setText(weight);
textView3.setText(height);
textView4.setText(""+"秒");
textView5.setText(year);
textView6.setText(sex);
textView7.setText(school);
}else{
for (user user1 : shopInfos) {


textView1.setText(user1.getVname());
textView2.setText(user1.getWeight()+"kg");
textView3.setText(user1.getHeight()+"cm");
textView4.setText(Szong+"秒");
textView5.setText(user1.getYear());
textView6.setText(user1.getSex());
textView7.setText(user1.getSchool());
}}
imageButton11.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getActivity(), UploadActivity.class);
intent.putExtra("name", name);
startActivity(intent);
}
});
imageButton9.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

Intent intent = new Intent(getActivity(), setting.class);

String password = getActivity().getIntent().getStringExtra("password");
intent.putExtra("name", name);
intent.putExtra("password", password);
startActivity(intent);
}
});
imageButton12.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getActivity(), calendard.class);
startActivity(intent);
}
});


new Thread(new Runnable() {
@Override
public void run() {

try {
//http://10.0.2.2:8080/system/fileService/images/admin.jpg http://localhost:8080/system/fileService/images/admin.jpg
String path = "http://120.79.40.20/system/fileService/images/" + name + ".jpg";//String path = "http://120.79.40.20/system/fileService/images/hua.jpg";
//2:把网址封装为一个URL对象
URL url = new URL(path);
//3:获取客户端和服务器的连接对象,此时还没有建立连接
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
//4:初始化连接对象
conn.setRequestMethod("GET");
//设置连接超时
conn.setConnectTimeout(8000);
//设置读取超时
conn.setReadTimeout(8000);
//5:发生请求,与服务器建立连接
conn.connect();
//如果响应码为200,说明请求成功
if (conn.getResponseCode() == 200) {
//获取服务器响应头中的流
InputStream is = conn.getInputStream();
//读取流里的数据,构建成bitmap位图
Bitmap bm = BitmapFactory.decodeStream(is);
Message msg = new Message();
msg.obj = bm;
handler1.sendMessage(msg);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();



}
return ly4;
}




}

xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="top"
android:background="@drawable/runbg9"
android:orientation="vertical">

<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="63dp">

<TextView
android:id="@+id/textView8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/txt5"
android:textSize="36sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<ImageButton
android:id="@+id/imageButton9"
android:layout_width="52dp"
android:layout_height="52dp"
android:layout_gravity="center_horizontal"
android:background="@android:color/background_light"
android:clickable="false"
android:contentDescription="@string/setting"
android:scaleType="fitCenter"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.955"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.636"
app:srcCompat="@drawable/setting" />
</androidx.constraintlayout.widget.ConstraintLayout>

<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="162dp">

<ImageButton
android:id="@+id/imageButton11"
android:layout_width="108dp"
android:layout_height="135dp"
android:layout_gravity="center_horizontal"
android:background="@android:color/background_light"
android:clickable="false"
android:contentDescription="@string/touxiang"
android:scaleType="fitCenter"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.006"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.21"
app:srcCompat="@drawable/touxiang" />

<TextView
android:id="@+id/textView17"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="用户名"
android:textSize="36sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.44"
app:layout_constraintStart_toStartOf="@+id/imageButton11"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.110000014" />

<TextView
android:id="@+id/textView19"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="无"
android:textSize="30sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.351"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.917" />

<TextView
android:id="@+id/textView21"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="无"
android:textSize="30sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.559"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.917" />

<TextView
android:id="@+id/textView23"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="无"
android:textSize="30sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.572"
app:layout_constraintStart_toEndOf="@+id/textView21"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.917" />

<TextView
android:id="@+id/textView20"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="年龄"
android:textSize="30sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.344"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.52" />

<TextView
android:id="@+id/textView22"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="性别"
android:textSize="30sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.544"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.504" />

<TextView
android:id="@+id/textView24"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="所属院校"
android:textSize="30sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.945"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.512" />

<ImageButton
android:id="@+id/imageButton12"
android:layout_width="50dp"
android:layout_height="49dp"
android:layout_gravity="center_horizontal"
android:background="@android:color/background_light"
android:clickable="false"
android:contentDescription="@string/daka"
android:scaleType="fitCenter"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.955"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.120000005"
app:srcCompat="@drawable/daka" />
</androidx.constraintlayout.widget.ConstraintLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="158dp"
android:orientation="horizontal">

<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="206dp"
android:layout_height="156dp"
android:background="@color/colorPrimary">

<TextView
android:id="@+id/textView25"
android:layout_width="128dp"
android:layout_height="42dp"
android:text="健康数据"
android:textSize="30sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.04"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.137" />

<TextView
android:id="@+id/textView26"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="体重"
android:textSize="18sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.014"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<TextView
android:id="@+id/textView27"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="00.0kg"
android:textSize="24sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.805" />

<TextView
android:id="@+id/textView10"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="身高"
android:textSize="18sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.68"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.503" />

<TextView
android:id="@+id/textView15"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="000CM"
android:textSize="24sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.88"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.806" />

</androidx.constraintlayout.widget.ConstraintLayout>

<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="206dp"
android:layout_height="156dp"
android:background="@android:color/holo_blue_bright">

<TextView
android:id="@+id/textView28"
android:layout_width="128dp"
android:layout_height="42dp"
android:text="运动数据"
android:textSize="30sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.205"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.14" />

<TextView
android:id="@+id/textView29"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="运动时长"
android:textSize="18sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.106"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.503" />

<TextView
android:id="@+id/textView30"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0分钟"
android:textSize="24sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.104"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.87" />
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>

<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="119dp">

<TextView
android:id="@+id/textView31"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="我的收藏"
android:textSize="24sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.914"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.931" />

<ImageButton
android:id="@+id/imageButton13"
android:layout_width="59dp"
android:layout_height="59dp"
android:layout_gravity="center_horizontal"
android:background="@android:color/background_light"
android:clickable="false"
android:contentDescription="@string/shoucang"
android:scaleType="fitCenter"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.855"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.35"
app:srcCompat="@drawable/shoucang" />

</androidx.constraintlayout.widget.ConstraintLayout>

</LinearLayout>

下面是后台的实现:

bean层:


public class User {
private String name;
private String password;
private String vname;
private String weight;
private String height;
private String year;
private String school;
private String sex;
public String getVname() {
return vname;
}
public void setVname(String vname) {
this.vname = vname;
}
public String getWeight() {
return weight;
}
public void setWeight(String weight) {
this.weight = weight;
}
public String getHeight() {
return height;
}
public void setHeight(String height) {
this.height = height;
}
public String getYear() {
return year;
}
public void setYear(String year) {
this.year = year;
}
public String getSchool() {
return school;
}
public void setSchool(String school) {
this.school = school;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}

}

dao层:

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import com.test.bean.Shiwu;
import com.test.bean.User;
import com.test.util.DBUtil;
public class UserDao {
public List<User> select(String name){
Connection conn = DBUtil.getConn(); //连接数据库
List<User> list = new ArrayList<User>();
try {
String sql="select * from user where name like '%"+name+"%' ";
Statement pstmt = (Statement) conn.createStatement();
ResultSet rs = (ResultSet) pstmt.executeQuery(sql);
while(rs.next()) {
User User=new User();
User.setName(rs.getString("name"));
User.setPassword(rs.getString("password"));
User.setVname(rs.getString("vname"));
User.setWeight(rs.getString("weight"));
User.setHeight(rs.getString("height"));
User.setYear(rs.getString("year"));
User.setSchool(rs.getString("school"));
User.setSex(rs.getString("sex"));
list.add(User);
}
rs.close();
pstmt.close();
conn.close();

}catch(SQLException e) {
e.printStackTrace();
}
return list;
}
}

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import com.test.bean.Date;
import com.test.bean.Shiwu;
import com.test.util.DBUtil;

public class DateShowDao {
    public List<Date> select(){
        Connection conn = DBUtil.getConn(); //连接数据库
        List<Date> list = new ArrayList<Date>();
        try {
            String sql="select * from date";
            Statement pstmt = (Statement) conn.createStatement();
            ResultSet rs = (ResultSet) pstmt.executeQuery(sql);
            while(rs.next()) {
                Date Date=new Date();
                Date.setType(rs.getString("type"));
                Date.setTime(rs.getString("time"));
                Date.setDate(rs.getString("date"));
                Date.setName(rs.getString("name"));
                list.add(Date);
            }
            rs.close();
            pstmt.close();
            conn.close();

        }catch(SQLException e) {
            e.printStackTrace();
        }
        return list;
    }
    public List<Date> select1(String name){
        Connection conn = DBUtil.getConn(); //连接数据库
        List<Date> list = new ArrayList<Date>();
        try {
            String sql="select * from date where name like '%"+name+"%' ";
            Statement pstmt = (Statement) conn.createStatement();
            ResultSet rs = (ResultSet) pstmt.executeQuery(sql);
            while(rs.next()) {
                Date Date=new Date();
                Date.setType(rs.getString("type"));
                Date.setTime(rs.getString("time"));
                Date.setDate(rs.getString("date"));
                Date.setName(rs.getString("name"));
                list.add(Date);
            }
            rs.close();
            pstmt.close();
            conn.close();

        }catch(SQLException e) {
            e.printStackTrace();
        }
        return list;
    }
}

servlet层:

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.alibaba.fastjson.JSON;
import com.test.bean.Date;
import com.test.bean.User;
import com.test.dao.*;
import java.util.List;
/**
* Servlet implementation class LoginServlet
*/
@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public LoginServlet() {
super();
// TODO Auto-generated constructor stub
}
LoginDao logindao = new LoginDao();
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
// protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// request.setCharacterEncoding("UTF-8");
// String name=request.getParameter("name");
// String password=request.getParameter("password");
// String rname=logindao.searchUsername(name);
// String rpassword=logindao.searchPassword(name);
// if(name.equals(rname)&&password.equals(rpassword)) {
// request.getRequestDispatcher("index.jsp").forward(request, response);
// System.out.println("IndexServlet跳转成功");
// }
// else {
// request.getRequestDispatcher("denglu.jsp").forward(request,response);
// System.out.println("IndexServlet跳转失败");
// System.out.println(name+password);
// System.out.println(rname+rpassword);
// }
// }

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
response.setCharacterEncoding("utf-8");
String name=request.getParameter("name");
String password=request.getParameter("password");
String a=null;
System.out.println(name);
System.out.println(password);
String rname=logindao.searchUsername(name);
String rpassword=logindao.searchPassword(name);
PrintWriter pw=response.getWriter();
if(name.equals(rname)&&password.equals(rpassword)) {
UserDao ud = new UserDao();
List<User> list = ud.select(name);
String json = JSON.toJSONString(list);
DateShowDao dsd = new DateShowDao();
List<Date> list1 = dsd.select1(name);
int t=0;
for(Date date:list1) {
String[] my =date.getTime().split(":");
int hour =Integer.parseInt(my[0]);
int min =Integer.parseInt(my[1]);
int sec =Integer.parseInt(my[2]);
int zong =hour*3600+min*60+sec;
t=t+zong;
// System.out.println(date.getName()+zong+" "+t);
}
String str = String.valueOf(t);//运动时长

System.out.println(json);
a="登录成功";
pw.write(a+"||"+name+"||"+json+"||"+str+"||");//+str+"||"
pw.close();
}
else {
a="用户名或密码错误";
pw.write(a+"||");
pw.close();
}




}
}

连接数据库的util层就不贴了,比较简单。

这样子个人页面信息展示就能实现了。

原文地址:https://www.cnblogs.com/a155-/p/12791359.html