当前位置: 首页 > news >正文

桥西区建设局网站中国铁建股份有限公司

桥西区建设局网站,中国铁建股份有限公司,网站技术有哪些,网站建设需要的模块说明:基于jsp与servlet、mysql对的图片的上传与操作,servlet用于操作文件的上传。实现上传需要包文件:commons-fileupload-1.3.2、commons-io-2.5.jar、mysql-connector-java5.1.26-bin.jar(数据库驱动,自行下载)四个文件&#xf…
  1. 说明:基于jsp与servlet、mysql对的图片的上传与操作,servlet用于操作文件的上传。
  2. 实现上传需要包文件:commons-fileupload-1.3.2、commons-io-2.5.jar、mysql-connector-java5.1.26-bin.jar(数据库驱动,自行下载)
  3. 四个文件:  1.index.jsp(上传页面)  2..Upload.java(servlet 操作上传)  3.show_img.java(取图片)   4.show_img.jsp(显示图片) 
  4. 数据库自己在mysql里面建好就行,图片的类型为blob(longblog、mediublob、tinyblob)

1.index.jsp

表单需要注意的地方:

  • 表单的提交方式为:post
  • 表单必须带上属性:enctype="multipart/form-data"

    以下为主要代码:
    <body><div align="center"><form action="Upload.java" method="post" enctype="multipart/form-data"><table><tr><td>姓名:</td><td><input id="name" type="text" name="username"></td></tr><tr><td>选择上传的图片</td><td><input id="file1" type="file" name="Filename"></td></tr>				<tr><td align="center" colspan="2"><input id="button"type="submit" value="上传"> <a id="a"href="show_img.jsp">查看上传图片</a></td></tr></table></form></div>
    </body>

  • 2.Upload.java(主要代码)
    public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html;charset=gbk");request.setCharacterEncoding("gbk");response.setCharacterEncoding("gbk");PrintWriter out = response.getWriter();PreparedStatement pstmt;//获得PreparedStatment对象 ,PreparedStatment执行SQL查询语句的API,比 Statement 更快//加载数据库驱动Connection con;try {Class.forName("com.mysql.jdbc.Driver");} catch (ClassNotFoundException e2) {System.out.println("驱动找不到");}List Files = new ArrayList();//存取上传文件 String name = "";//存取上传人姓名 DiskFileItemFactory factory = new DiskFileItemFactory();//创建一个解析器工厂DiskFileItemFactory  fu =new DiskFileItemFactory ();//得到解析器,处理上传的文件数据,并将表单中每个输入项封装成一个FileItem 对象中ServletFileUpload upload = new ServletFileUpload(fu);upload.setHeaderEncoding("gbk");try {//存取表单所有信息List<FileItem> list = upload.parseRequest(request);//取得表单的数据内容//此层增强for循环遍历表单中有多少个上传文件将文件存到list中for(FileItem items:list){if(items.isFormField()){//判断是否不是文件if(items.getFieldName().equals("username")){name=new String(items.getString().getBytes("ISO-8859-1"),"gbk");System.out.println(name);}System.out.println(items.getFieldName());}else{Files.add(items);}}//sql插入语句String sql ="insert into photo (username,p) values(?,?)";for(int i=0;i<Files.size();i++){FileItem item = (FileItem)Files.get(i);//从集合取出文件String filename = item.getName();//获得文件名InputStream file = item.getInputStream();//将文件转为输入流// read(byte[])方法,返回读入缓冲区的总字节数  byte[] buffer = new byte[file.available()];//将字节数组直接存进去数据库就可以file.read(buffer);try {con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "9527");pstmt = con.prepareStatement(sql);//预处理pstmt.setString(1, name);//将第一个占位符(?)设值pstmt.setBytes(2, buffer);//将第二个占位符设值pstmt.executeUpdate();//执行语句file.close();//将流关闭System.out.println("插入图片成功");} catch (SQLException e1) {System.out.println(e1);}}} catch (FileUploadException e2) {e2.printStackTrace();}request.getRequestDispatcher("index.jsp").forward(request, response);}  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setContentType("text/html;charset=gbk");request.setCharacterEncoding("gbk");response.setCharacterEncoding("gbk");PrintWriter out = response.getWriter();doGet(request, response);}
    

上传后的数据库:    

3.show_img.java(取图片主要代码)


public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("image/*");//设置为图pain方式request.setCharacterEncoding("gbk");response.setCharacterEncoding("gbk");Connection con;PreparedStatement pstmt;//获得PreparedStatement对象ResultSet rs=null;//通过img 的src 获得上传人String username =new String(request.getParameter("username").getBytes("ISO-8859-1"),"gbk");System.out.println(username);try {Class.forName("com.mysql.jdbc.Driver");} catch (ClassNotFoundException e2) {System.out.println("驱动找不到");}String sql="select * from photo where username =?";List img = new ArrayList();//存放img名字用于页面显示;try{con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "9527");try{//实例化PreparedStatement对象pstmt =  con.prepareStatement(sql);pstmt.setString(1, username);//查询条件根据上传人查询rs=pstmt.executeQuery();//执行查询if(rs.next()){//循环取出所有图片byte[] buff =rs.getBytes("p");//图片所在的字段名,前面存的是byte 现在相对应的取OutputStream os = response.getOutputStream();//获得输出流os.write(buff);//将其输出页面System.out.println("取出成功");}pstmt.close();rs.close();}catch(Exception e){System.out.println("取出失败 "+e);}} catch (SQLException e1) {System.out.println(e1);}}  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setContentType("text/html;charset=gbk");request.setCharacterEncoding("gbk");response.setCharacterEncoding("gbk");PrintWriter out = response.getWriter();doGet(request, response);}
4.show_img.jsp(显示图片)
<body><div align="center"><img width="400" alt="" src="show_img?username=张三">//取图片的查询条件</div>
</body>

到此算是完成了,代码是灵活的 可根据实际情况进行修改与项目结合。如果您看了这文章有什么更好的建议,希望能得到您的指导,谢谢写!。如果对此不明白的可留言。

(未经允许不可转载)



http://www.yayakq.cn/news/863950/

相关文章:

  • 百度 移动网站优化邢台哪里有做网站的
  • 石嘴山网站建设公司上海公司买房需要什么条件
  • 哈尔滨的建设信息网站建设银行网站注册
  • 青海省城乡建设厅网站小学网站模板免费下载
  • 长沙网站建设多少钱宣传片制作公司有哪些
  • 萍乡做网站哪家好拓者设计吧官网案例
  • 建设银行网站查询房贷信息网址导航哪个主页最好
  • php做网站步骤设计网站的制作框架
  • 设计师在线网站南昌网站开发公司电话
  • 手机网站的特效培训学校 网站费用
  • 做衣服接订单的网站记事本做网站的流程
  • 学院网站建设推进会找关键词的方法与技巧
  • 免费建站赚钱郑州做网站远辰
  • 凡科网网站建设微信棋牌游戏代理平台
  • 辽宁建设工程信息网直接发包代理机构流程兰州网站seo收费
  • 浙江英文网站建设wordpress 页尾修改
  • 大连网站排名优salutation wordpress
  • 广州市建设集团网站源服务器发生5xx错误
  • 建设网站前端长沙外贸建站
  • 网站优化设计方案中国企业黄页大全
  • 企业网站怎么备案行业垂直网站开发
  • 哈尔滨市延寿建设局网站php网站商城源码
  • 网站怎么做背景不变页面滑动学校网站php源码|班级主页教师博客学生博客|学校网站织梦仿
  • 中国建设银行网站企业网银收费互动对战平台
  • 社交网站设计wordpress对接易支付宝
  • 建设信用卡银行积分商城网站aso排名优化知识
  • 合肥营销型网站会所网站模板
  • 韩国有哪些专业做汽车的网站上海做网站的公司
  • 吕梁购物网站开发设计怎么看网站被降权
  • 公众号里的电影网站怎么做建设工程施工范围