javaweb项目案例-投票系统改进版

javaweb项目案例-投票系统改进版
本博客只是记载自己学习javaweb历程
对前一个博客的改进版:javaweb项目案例投票系统

改进的地方数据库与jsp页面进行了分离,增加了复选框。
先看一下运行效果吧
前台页面做的不是太好,没有进行美化

javaweb项目案例投票系统改进版

项目目录

javaweb项目案例投票系统项目目录结构

1》》dao包VoteDao.java文件


```handlebars
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import ="vote.Vote" %>
<%@ page import = "dao.VoteDao" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
  </head>
  
  <body>
     <h1>欢迎给老师投票</h1>
    <form action="dealindex.jsp" method="post">
    <table>
    <tr>
    <td>编号</td>
    <td>姓名</td>
    <td>得票数</td>
    <td>投票</td>
    </tr>
    
    
    <%
    	VoteDao vdao = new VoteDao();
    	ArrayList votes = vdao.getAllVotes();
    	for(int i=0;i<votes.size();i++){
    	Vote vote = (Vote)votes.get(i);
     %>
   
     <tr>
     <td><%=vote.getTeacherno()%></td>
     <td><%=vote.getTeachername()%></td>
     
     
     <td><img alt="" src="img/bar.jpg" width="<%=vote.getVotenumber() %>"height="10"><%=vote.getVotenumber() %></td>
    <td><input name="teacherno" type="checkbox" value="<%=vote.getTeacherno() %>"></td>
     </tr>
     <%} %>
     </table>
     <input type="submit" value="投票">
    </form>
    	
     
    
  </body>
</html>

2》》》vote包Vote.java文件

package vote;

public class Vote {
	private String teacherno;
	private String teachername;
	private int votenumber;
	public String getTeacherno() {
		return teacherno;
	}
	public void setTeacherno(String teacherno) {
		this.teacherno = teacherno;
	}
	public String getTeachername() {
		return teachername;
	}
	public void setTeachername(String teachername) {
		this.teachername = teachername;
	}
	public int getVotenumber() {
		return votenumber;
	}
	public void setVotenumber(int votenumber) {
		this.votenumber = votenumber;
	}
	
}



3》》》index页面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import ="vote.Vote" %>
<%@ page import = "dao.VoteDao" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
  </head>
  
  <body>
     <h1>欢迎给老师投票</h1>
    <form action="dealindex.jsp" method="post">
    <table>
    <tr>
    <td>编号</td>
    <td>姓名</td>
    <td>得票数</td>
    <td>投票</td>
    </tr>
    
    
    <%
    	VoteDao vdao = new VoteDao();
    	ArrayList votes = vdao.getAllVotes();
    	for(int i=0;i<votes.size();i++){
    	Vote vote = (Vote)votes.get(i);
     %>
   
     <tr>
     <td><%=vote.getTeacherno()%></td>
     <td><%=vote.getTeachername()%></td>
     
     
     <td><img alt="" src="img/bar.jpg" width="<%=vote.getVotenumber() %>"height="10"><%=vote.getVotenumber() %></td>
    <td><input name="teacherno" type="checkbox" value="<%=vote.getTeacherno() %>"></td>
     </tr>
     <%} %>
     </table>
     <input type="submit" value="投票">
    </form>
    	
     
    
  </body>
</html>

4》》》》dealindex页面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import= "dao.VoteDao" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'dealindex.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
  <%
   String[] teacherno = request.getParameterValues("teacherno");
   VoteDao vdao = new VoteDao();
   vdao.updateVote(teacherno);
   %>
   <jsp:forward page="index.jsp"></jsp:forward>
  
  </body>
</html>

bar.jpg图片自己用画图工具画一个就行了,大小没有限制。
有关软件下载,资源查找可以来看看小编的网站,谢谢
网址:www.miaozan.art

### PyCharm 打开文件显示全的解决方案 当遇到PyCharm打开文件显示全的情况时,可以尝试以下几种方法来解决问题。 #### 方法一:清理缓存并重启IDE 有时IDE内部缓存可能导致文件加载异常。通过清除缓存再启动程序能够有效改善此状况。具体操作路径为`File -> Invalidate Caches / Restart...`,之后按照提示完成相应动作即可[^1]。 #### 方法二:调整编辑器字体设置 如果是因为字体原因造成的内容显示问题,则可以通过修改编辑区内的文字样式来进行修复。进入`Settings/Preferences | Editor | Font`选项卡内更改合适的字号大小以及启用抗锯齿功能等参数配置[^2]。 #### 方法三:检查项目结构配置 对于某些特定场景下的源码视图缺失现象,可能是由于当前工作空间未能正确识别全部模块所引起。此时应该核查Project Structure的Content Roots设定项是否涵盖了整个工程根目录;必要时可手动添加遗漏部分,并保存变更生效[^3]。 ```python # 示例代码用于展示如何获取当前项目的根路径,在实际应用中可根据需求调用该函数辅助排查问题 import os def get_project_root(): current_file = os.path.abspath(__file__) project_dir = os.path.dirname(current_file) while not os.path.exists(os.path.join(project_dir, '.idea')): parent_dir = os.path.dirname(project_dir) if parent_dir == project_dir: break project_dir = parent_dir return project_dir print(f"Current Project Root Directory is {get_project_root()}") ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RDSunday

爱,就供养;喜欢/受益,就打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值