日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用eclipse开发javaweb登录功能带验证码文件下载第几位登录使用servlet编写html

發布時間:2024/2/28 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用eclipse开发javaweb登录功能带验证码文件下载第几位登录使用servlet编写html 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這個代碼在我的資源中我有上傳。如果需要可以前往下載

https://download.csdn.net/download/qq_41946557/11622045

當然也可以留言分享與你,共同進步

具體頁面演示:

login.html

<!DOCTYPE html> <html><head><meta charset="UTF-8"><title>login view</title><script>function changeImage(){document.getElementById('checkImage').src="CheckCodeServlet?aaa="+Math.random();}</script></head><body><form action="xxxServlet" method="get"><table border="0px solid black" cellspacing="10px" style="margin: 50px auto;"><tr><td colspan="2" style="text-align: center;font-size: 25px;">用戶登錄頁面</td></tr><tr><td>用戶名:</td><td><input type="text" name="username" /></td></tr><tr><td>密碼:</td><td><input type="password" name="password" /></td></tr><tr><td>驗證碼:</td><td><input type="text" size="10" name="val" /><img src="CheckCodeServlet" id="checkImage" /><a href="javascript:changeImage()">看不清,換一張</a><br/></td></tr><tr><td style="text-align: center;padding-left: 20px;"><input type="submit" value="登錄"/></td><td style="padding-left: 100px;"><input type="button" value="注冊"/></td></tr></table></form></body> </html>

User? ?略過

UserDao

package com.henu.dao;import java.sql.SQLException;import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.handlers.BeanHandler;import com.henu.bean.User; import com.henu.utils.JdbcUtil;public class UserDao {public User findUserByUsernameAndPassword(String username,String password){User user = null;QueryRunner qRunner = new QueryRunner(JdbcUtil.getDataSource());String sql = "select * from user where username=? and password=?";try {user = qRunner.query(sql, new BeanHandler<User>(User.class),username,password);} catch (SQLException e) {e.printStackTrace();}return user;} }

UserService

package com.henu.service;import com.henu.bean.User; import com.henu.dao.UserDao;public class UserService {public User login(String username,String password){UserDao userDao = new UserDao();User user = userDao.findUserByUsernameAndPassword(username, password);return user;} }

xxxServlet

package com.henu.servlet;import java.io.IOException; import java.io.PrintWriter;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import com.henu.bean.User; import com.henu.service.UserService;public class xxxServlet extends HttpServlet {protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request, response);}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String username = request.getParameter("username");String password = request.getParameter("password");String clientCheckcode = request.getParameter("val");//接收客戶端瀏覽器提交上來的驗證碼String reString = (String) this.getServletContext().getAttribute("reString");//從圖片中取出驗證碼//不過這里使用的是this.getServletContext().getAttribute()//后續用sessionUserService userService = new UserService();User user = userService.login(username, password);//equalsIgnoreCase忽略大小寫比較if (user != null && clientCheckcode.equalsIgnoreCase(reString)) {int num =0;if(this.getServletContext().getAttribute("num")!=null){ num = (Integer)this.getServletContext().getAttribute("num");}this.getServletContext().setAttribute("num", ++num);response.sendRedirect("yyyServlet");}else{response.setContentType("text/html;charset=utf-8");response.setHeader("refresh", "3;url='http://localhost:8081/tomcat03/login.html'");response.getWriter().write("<h2>三秒后跳轉回登錄頁面</h2>");}}}

yyyServlet:使用servlet編寫html

package com.henu.servlet;import java.io.IOException; import java.io.PrintWriter;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;public class yyyServlet extends HttpServlet {protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request, response);}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setContentType("text/html;charset=utf-8");PrintWriter out = response.getWriter();int num = (Integer)this.getServletContext().getAttribute("num");out.print("<html>");out.print("<head><title>download view</title></head>");out.print("<body>");out.print("<div style='width:500px;height:400px;margin:50px auto;border-bottom:1px solid black'>");out.print("<h1>您是第"+num+"位登錄成功的用戶</h1>");out.print("<hr style='margin-bottom:50px'>");out.print("<h2>下載專欄</h2>");out.print("<a href='zzzServlet?filename=timg.jpg'>1.timg.jpg</a>");out.print("<br />");out.print("<a href='zzzServlet?filename=aaa.txt'>2.aaa.txt</a>");out.print("<br />");out.print("<a href='zzzServlet?filename=ddd.rar'>3.ddd.rar</a>");out.print("<br />");out.print("<a href='zzzServlet?filename=林允兒.jpg'>4.林允兒.jpg</a>");out.print("<br />");out.print("</div>");out.print("</body>");out.print("</html>");out.flush();out.close();}}

zzzServlet

package com.henu.servlet;import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;public class zzzServlet extends HttpServlet {protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request, response);}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String filename =request.getParameter("filename");String folderPath = this.getServletContext().getRealPath("/download");InputStream is = new FileInputStream(folderPath+"/"+filename);filename = new String(filename.getBytes("UTF-8"),"iso-8859-1");response.addHeader("Content-Disposition","attachment;filename="+filename);OutputStream os = response.getOutputStream();int len=0;byte[] b = new byte[1024];while((len=is.read(b))!=-1){os.write(b,0, len);}is.close();os.close();}}

CheckCodeServlet

package com.henu.servlet;import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.IOException; import java.util.Random;import javax.imageio.ImageIO; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;public class CheckCodeServlet extends HttpServlet {protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request, response);}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// 1 生成圖片的高度和寬度int height = 30;int width = 60;//從這個字符串中選幾個字符組成圖片的內容String data = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz";Random random = new Random();//2 創建一個圖片BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);//3 獲得畫板Graphics g = image.getGraphics();//4 填充一個矩形// * 設置顏色g.setColor(Color.BLACK);g.fillRect(0, 0, width, height);g.setColor(Color.WHITE);g.fillRect(1, 1, width-2, height-2);// * 設置字體g.setFont(new Font("宋體", Font.BOLD|Font.ITALIC, 25));String reString = "";for(int i = 0 ; i < 4 ; i ++){// 設置顏色--隨機數g.setColor(new Color(random.nextInt(255), random.nextInt(255), random.nextInt(255)));// 獲得隨機字int index = random.nextInt(data.length());String str = data.substring(index, index + 1);reString += str;// 寫入g.drawString(str, width/6 * (i + 1), 20);}this.getServletContext().setAttribute("reString", reString);//6 干擾線for(int i = 0 ; i < 3 ; i ++){// 設置顏色--隨機數g.setColor(new Color(random.nextInt(255), random.nextInt(255), random.nextInt(255)));// 隨機繪制線g.drawLine(random.nextInt(width), random.nextInt(height), random.nextInt(width),random.nextInt(height));// 隨機點g.drawOval(random.nextInt(width), random.nextInt(height), 2, 2);}//end 將圖片響應給瀏覽器ImageIO.write(image, "jpg", response.getOutputStream());} }

?

總結

以上是生活随笔為你收集整理的使用eclipse开发javaweb登录功能带验证码文件下载第几位登录使用servlet编写html的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。