Java学习第十九天

MyServletTest

package com.lingzhuo.test;

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

/**
 * Servlet implementation class MyServletTest
 */
@WebServlet("/MyServletTest")// /MyServletTest     ContextPath
public class MyServletTest extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public MyServletTest() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //doGet提交  最好不好写中文
        // TODO Auto-generated method stub
        String userName=request.getParameter("username");//request请求 浏览器提交得到参数 为iso-8859-1编码
        String password=request.getParameter("password");
        userName=MyEcoding.doEcoding(userName);//格式转换 转换为utf-8格式
        password=MyEcoding.doEcoding(password);
        System.out.println("用户名:"+userName);
        System.out.println("密码:"+password);
        String s="用户名:"+userName+"\t"+"密码:"+password;
        System.out.println(request.getParameter("username")+request.getParameter("password"));//request请求   得到的是iso-8859-1编码的    张三(å¼ ä)¸‰123456     控制台显示å¼ ä¸‰123456  

        response.setHeader("Content-type", "text/html;charset=UTF-8");//使网页格式也为utf-8 有这句话网页显示的也是utf-8格式的   一句话一般放在输出语句的前面response.getWriter()
        //Content-type该实体头的作用是让服务器告诉浏览器它发送的数据属于什么文件类型      这一句前不能向页面输出任何内容
        response.getWriter().append("Served at: ").append(request.getContextPath());//response回应     文本路径/MyServiceTest    英文一般显示的对的
        response.getWriter().append(s).append(userName);//回应服务器到客户端       ???:??    ??:123456  一个汉字一个?//追加可以通过append的方式追加
        //在网页中显示的时候\t只占了一个空格的位置
    }
    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
//      request.setCharacterEncoding("UTF-8");
        doGet(request, response);
    }

}

#

package com.lingzhuo.test;

import java.io.UnsupportedEncodingException;

public class MyEcoding {
    public static String doEcoding(String string){//参数
        try {//浏览器提交数据使用的都是iso-8859-1编码     
            byte[] array=string.getBytes("iso-8859-1");//将字符串按指定编码格式转换成字节并存放在字节数组中     编码格式大小写无所谓   编码格式:受支持的字符集(charset)名称
            string=new String(array,"UTF-8");//将字节数组按指定编码格式转换成字符串
//          string=new String(string.getBytes("iso-8859-1"),"utf-8");//合并写法
        } catch (UnsupportedEncodingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return string;
    }

}

事务


package com.lingzhuo.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
//事务
public class Transaction_Test {

    public static void main(String[] args) {
        String driver="com.mysql.jdbc.Driver";
        String url="jdbc:mysql://localhost:3306/clazz";
        String user="root";
        String password="201216328";
        try {
            Class.forName(driver);
            Connection conn=DriverManager.getConnection(url, user, password);//新的连接
            if(!conn.isClosed()){
//              Statement state=SQLManager.newInstance().statement;
                Statement state=conn.createStatement();//要用这个连接创建的操作类  不能用上面那个操作类  因为不是一个conn
                String sql1="insert into user(user_name,password)values('sasas','saass')";
                String sql2="insert into user(user_name,password)values('sas','aass')";
                String sql3="insert into user(user_name,passwords)values('sasasss','sasaass')";
                String sql4="insert into user(user_name,password)values('sasasas','sasaass')";
                String sql5="insert into user(user_name,password)values('sasas','saasssa')";
                //事务(一组不可拆分的操作  一条语句报错则回滚)
//              conn.setAutoCommit(false);//设置不自动提交
//              state.execute(sql1);//执行
//              state.execute(sql2);
//              state.execute(sql3);
//              state.execute(sql4);
//              state.execute(sql5);
//              conn.commit();//提交
//              conn.getAutoCommit();

                //效率更高
                conn.setAutoCommit(false);//设置不自动提交
                state.addBatch(sql1);//将给定的 SQL命令添加到 Statement 对象的当前命令列表中
                state.addBatch(sql2);
                state.addBatch(sql3);
                state.addBatch(sql4);
                state.addBatch(sql5);
                state.executeBatch();
                conn.commit();//提交
            }
        } catch (ClassNotFoundException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }


}

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值