panda

          IT高薪不是夢(mèng)!!

          統(tǒng)計(jì)

          留言簿

          閱讀排行榜

          評(píng)論排行榜

          2009年10月12日 #

          文件上傳(FileUpload)

          1.使用JAR
          ??????jsp文件上傳主要使用了兩個(gè)jar包,commons-fileupload-1.2.1.jar和commons-io-1.4.jar
          2.代碼實(shí)現(xiàn)
          ???? public class UploadServlet extends HttpServlet {

          ?/**
          ? *
          ? */
          ?private static final long serialVersionUID = 1L;

          ?private ServletContext sc;

          ?private String savePath;

          ?@Override
          ?protected void doGet(HttpServletRequest request,
          ???HttpServletResponse response) throws ServletException, IOException {
          ??doPost(request, response);
          ?}

          ?@Override
          ?protected void doPost(HttpServletRequest request,
          ???HttpServletResponse response) throws ServletException, IOException {

          ??System.out.println("請(qǐng)求進(jìn)來(lái)了..........");

          ??// 設(shè)置請(qǐng)求的編碼
          ??request.setCharacterEncoding("UTF-8");

          ??DiskFileItemFactory factory = new DiskFileItemFactory();//創(chuàng)建一個(gè)磁盤文件工廠
          ??ServletFileUpload upload = new ServletFileUpload(factory);

          ??try {
          ???List items = upload.parseRequest(request);
          ???Iterator it = items.iterator();
          ???while (it.hasNext()) {
          ????FileItem item = (FileItem) it.next();

          ????if (item.isFormField()) {
          ?????System.out.println("表單的參數(shù)名稱:" + item.getFieldName()
          ???????+ ",對(duì)應(yīng)的參數(shù)值:" + item.getString("UTF-8"));
          ????} else {
          ?????// 獲取文件擴(kuò)展名
          ?????String strtype = item.getName().substring(
          ???????item.getName().length() - 3,
          ???????item.getName().length());
          ?????strtype = strtype.toLowerCase();

          ?????if (strtype == "jpg" || strtype == "gif"
          ???????|| strtype == "txt") {
          ??????if (item.getName() != null
          ????????&& !item.getName().equals("")) {
          ???????System.out.println("上傳文件的大小:" + item.getSize());
          ???????System.out.println("上傳文件的類型:"
          ?????????+ item.getContentType());
          ???????System.out.println("上傳文件的名稱:" + item.getName());

          ???????System.out.println("文件的擴(kuò)展名" + strtype);
          ???????File tempFile = new File(item.getName());
          ???????File file = new File(
          ?????????sc.getRealPath("/") + savePath, tempFile
          ???????????.getName());
          ???????item.write(file);

          ???????request.setAttribute("upload.message", "上傳文件成功!");

          ??????} else {
          ???????request.setAttribute("upload.message",
          ?????????"沒有選擇上傳文件獲取格式不支持");
          ??????}
          ?????} else {
          ??????request.setAttribute("upload.message", "上傳文件格式不支持");
          ?????}
          ????}
          ???}
          ??} catch (Exception e) {
          ???e.printStackTrace();
          ???request.setAttribute("upload.message", "上傳文件不成功!");
          ??}
          ??// 轉(zhuǎn)發(fā)
          ??request.getRequestDispatcher("/uploadResult.jsp").forward(request,
          ????response);
          ?}

          ?@Override
          ?public void init(ServletConfig config) throws ServletException {

          ??savePath = config.getInitParameter("savePath");
          ??sc = config.getServletContext();
          ?}

          posted @ 2009-11-08 16:30 IT追求者 閱讀(170) | 評(píng)論 (0)編輯 收藏

          Hibernate的多對(duì)一關(guān)聯(lián)映射

          1.關(guān)聯(lián)映射的本質(zhì):就是將關(guān)聯(lián)關(guān)系映射到數(shù)據(jù)庫(kù)中,關(guān)聯(lián)關(guān)系指對(duì)象模型中的一個(gè)或多個(gè)引用.

          2.下面列舉多對(duì)一的示例:用戶和組(多個(gè)用戶屬于一個(gè)組)多對(duì)一關(guān)聯(lián)映射是最常用的一種關(guān)聯(lián)映射

          ?? *User 類
          ???package com.lzy
          ?? public class User{

          ?? private int id;
          ?? private String name;

          ? private Group group;//持有組的引用
          ???
          ?? public User(){};

          ?? //省略set,get方法
          ?}


          ? *Group類
          ?package com.lzy
          ?public class Group{
          ??
          ?? private int id;

          ?? private String name;
          ?? //省略get,set方法
          ?}

          3.對(duì)對(duì)象進(jìn)行關(guān)系映射,這也是Hibernate中比較難的一點(diǎn)。
          ? (1)User.hbm.xml
          ??????
          ??????<?xml version="1.0">
          ??????<!DOCTYPE?hibernate-mapping PUBLIC? "-//Hibernate/Hibernate Mapping DTD 3.0//EN" http://hibernate.sourceforge.net/hibernate-mapping-3.0
          .dtd">
          ?? ? <hibernate-mapping package="com.lzy">
          ?????????<class name="User" table="t_user">
          ???????????????<id name="id" column="id">
          ?????????????????????<genarator class="native"/>
          ????????????? </id>
          ????????????<property name="name" column="user_name" not-null="true"/>
          ????????????<many-to-one name="group" column="groupid"/>
          ??????? </calss>
          ???? </hibernate-mapping>


          ?? (2)Group.hbm.xml
          ?????????
          ??????<?xml version="1.0">
          ??????<!DOCTYPE?hibernate-mapping PUBLIC? "-//Hibernate/Hibernate Mapping DTD 3.0//EN" http://hibernate.sourceforge.net/hibernate-mapping-3.0
          .dtd">
          ?? ? <hibernate-mapping package="com.lzy">
          ?????????<class name="Group" table="t_group">
          ???????????????<id name="id" column="id">
          ?????????????????????<genarator class="native"/>
          ????????????? </id>
          ????????????<property name="name" column="group_name" not-null="true"/>
          ??????</class>
          ???</hibernate-mapping>

          4.測(cè)試

          public class? Test {
          ???
          ? public static void main(String args[]){

          ??????SessionFactory? sessionFactory=null;
          ????? Session? session=null;
          ????? Transaction?? transaction=null;
          ??????
          ??????sessionFactory = HibernateUtil.getSessionFactory();// 創(chuàng)建一個(gè)會(huì)話工廠
          ????? session = sessionFactory.openSession();// 創(chuàng)建一個(gè)會(huì)話實(shí)例
          ????? transaction = session.beginTransaction();// 申明一個(gè)事務(wù)

          ??User user= new User();
          ??Group?group = new Group();

          ??user.setName("龍一");

          ??group.setName("中南大學(xué)");
          ? user.setGroup(group);

          ??try {

          ???transaction.begin();
          ???session.save(user);
          ???transaction.commit();

          ??} catch (Exception e) {
          ???e.printStackTrace();
          ??}


          ?? }
          }

          posted @ 2009-10-12 17:56 IT追求者 閱讀(1422) | 評(píng)論 (2)編輯 收藏

          主站蜘蛛池模板: 咸阳市| 思茅市| 乌海市| 铅山县| 建昌县| 康马县| 康平县| 察隅县| 丰台区| 定南县| 张家界市| 徐汇区| 湖北省| 沙雅县| 吉木萨尔县| 清丰县| 奉节县| 黄石市| 苍山县| 东兰县| 林周县| 双牌县| 阳新县| 灵璧县| 柯坪县| 兴义市| 横峰县| 阳曲县| 祥云县| 鲁山县| 博乐市| 凤凰县| 涞水县| 禹城市| 金秀| 辽源市| 莱西市| 周口市| 乐至县| 新绛县| 呼伦贝尔市|