利用Servlet制作的投票程序代码示例
前端开发实训案例教程初级开发简单的在线投票系统
前端开发实训案例教程初级开发简单的在线投票系统前端开发实训案例教程:初级开发简单的在线投票系统在这个前端开发实训案例教程中,我们将学习如何用HTML、CSS 和JavaScript开发一个初级的在线投票系统。
这个投票系统将允许用户提交并查看投票结果。
通过完成这个案例,您将学到如何使用前端技术创建交互性的网页应用。
第一步:项目准备在开始开发之前,确保您有一个文本编辑器,如Sublime Text或Visual Studio Code,并且已经安装了最新版本的浏览器,如Google Chrome或Mozilla Firefox。
第二步:创建HTML结构首先,让我们创建一个HTML文件,并设置基本的文件结构。
在文件中添加以下代码:```html<!DOCTYPE html><html><head><title>在线投票系统</title><link rel="stylesheet" href="style.css"> </head><body><header><h1>在线投票系统</h1></header><main><h2>投票问题</h2><form><!-- 添加投票选项 --></form><h2>投票结果</h2><ul><!-- 显示投票结果 --></ul></main><footer><p>© 2022 在线投票系统</p></footer><script src="script.js"></script></body></html>```在上面的代码中,我们创建了一个基本的HTML结构,并使用`<header>`、`<main>`和`<footer>`标签来定义页面的不同部分。
基于JAVA的网上投票系统
摘要:如今,越来越多的网站开始重视网页的互动性。
而在线投票就是一个非常重要的互动形式。
本文以JSP、SQL Server2000为编程工具开发了一种通用网上投票系统,并介绍了系统的调试、运行环境、系统功能、系统设计以及系统实现。
关键词:在线投票;JSP;SQL Server2000Abstract:Nowadays, more and more sites starting to focus on interactive web pages. The online voting is a very important forms of interaction. In this paper, JSP, SQL Server2000 as program development of a common online voting system, and introduced the system of commissioning, operating environment, system function, system design and implementation.Keywords: online voting; JSP; SQL Server2000目录第一章概述 (2)第二章相关知识介绍 (3)2.1 Java简介 (4)2.1.1 什么是Java (4)2.1.2 Java主要特性 (4)2.2 JSP简介 (6)2.2.1 什么是JSP (6)2.2.2 JSP的运行原理及优点 (7)2.2.3 JSP运行环境介绍 (8)2.3 SQL Server2000简介 (9)2.3.1 SQL Server概述 (9)2.3.2 SQL Server2000特性 (9)2.4 JSP与SQL Server2000数据库的连接 (10)第三章系统分析 (12)3.1 需求分析 (12)第四章系统设计 (13)4.1 总体设计 (13)4.2 模块设计 (15)4.2.1 客户投票模块 (15)4.2.2 管理员模块 (16)4.2.3 数据处理模块 (18)4.3 数据库设计 (18)第五章系统开发 (21)5.1 客户投票模块 (21)5.2 管理员模块 (27)5.3 数据处理模块 (36)第六章系统实现 (39)6.1 系统运行环境 (39)6.2 系统测试 (39)【参考文献】 (40)第一章概述如今,许许多多的网站设计者们开始意识到,网站的主要作用,除了给广大网友们提供单项的信息资讯服务外,还应该成为网友们互相交流的场所。
java实现投票程序设计
java实现投票程序设计本⽂实例为⼤家讲述了java实现投票程序设计代码,分享给⼤家供⼤家参考,具体内容如下运⾏效果图:程序如下:import java.awt.*;import java.awt.Event.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.StringTokenizer;import javax.swing.*;public class VoteTest implements ActionListener{private JFrame frame;private JPanel p1,p2,p3,p2_1;private JLabel label1,label2,label3;private JTextField name,votemess;private JTextField schoolVote[];private JButton com,con,sure,resh,sort;private Checkbox checkbox[];private int[] count;private int totalVote,schoolNumber,max,dis,giveup;public VoteTest(){frame=new JFrame("中国⼤学排⾏榜选票系统v1.0");p1=new JPanel();p2=new JPanel();p3=new JPanel();label1=new JLabel("⾸先输⼊候选学校的名字(数量不超过10,名字之间⽤逗号分隔):");label2=new JLabel("⽤下⾯的选择框统计选票:",JLabel.CENTER);label3=new JLabel("选举结果:");name=new JTextField(10);votemess=new JTextField(46);schoolVote=new JTextField[10];com=new JButton("确认");con=new JButton("取消");sure=new JButton("确定");resh=new JButton("刷新");sort=new JButton("排序");checkbox=new Checkbox[10];p2_1=new JPanel();count=new int[10];//记录学校的选票数totalVote=0;schoolNumber=0;max=3;dis=0;giveup=0;init();}public void init(){frame.setLayout(new GridLayout(3,1));frame.add(p1);frame.add(p2);frame.add(p3);p1.setLayout(new BorderLayout());p1.add(label1,BorderLayout.NORTH);p1.add(name,BorderLayout.CENTER);JPanel p1_3;p1_3=new JPanel();p1_3.add(com);p1_3.add(con);p1_3.add(label2);p1.add(p1_3,BorderLayout.SOUTH);p2.setLayout(new BorderLayout());JPanel p2_2;p2_2=new JPanel();p2_1.setLayout(new GridLayout(2,5));for(int i=0;i<=9;i++){checkbox=new Checkbox();p2_1.add(checkbox);}p2_2.add(sure);p2_2.add(resh);p2_2.add(sort);p2.add(p2_1,BorderLayout.CENTER);p2.add(p2_2,BorderLayout.SOUTH);p3.setLayout(new BorderLayout());JPanel p3_1,p3_2;p3_1=new JPanel();p3_2=new JPanel();p3_1.add(label3);p3_1.add(votemess);p3_2.setLayout(new GridLayout(10,1));for(int i=0;i<=9;i++){schoolVote=new JTextField();p3_2.add(schoolVote);}ScrollPane scroll=new ScrollPane();scroll.add(p3_2);p3.add(p3_1,BorderLayout.NORTH);p3.add(scroll,BorderLayout.CENTER);com.addActionListener(this);con.addActionListener(this);sure.addActionListener(this);resh.addActionListener(this);sort.addActionListener(this);}public void show(){frame.pack();frame.setVisible(true);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}/* (non-Javadoc)* @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) */public void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubString s[]=new String[10];if(e.getSource()==com){p2_1.removeAll();String s_name=name.getText();//提取候选的名字,名字⽤逗号(英⽂逗号或汉⽂逗号)分隔;StringTokenizer fenxi=new StringTokenizer(s_name,",,");schoolNumber=fenxi.countTokens();//获取候选的个数int i=0;while(fenxi.hasMoreTokens()){ //⽤单选框代表候选,并添加到⾯板p2_1s=fenxi.nextToken();p2_1.add(checkbox);checkbox.setLabel(s);i++;}for(int k=0;k<schoolNumber;k++){schoolVote[k].setText(null);}}else if(e.getSource()==con){name.setText(null);com.setEnabled(true);for(int k=0;k<schoolNumber;k++){schoolVote[k].setText(null);}}else if(e.getSource()==sure){totalVote=totalVote+1;com.setEnabled(false);int number=0;for(int k=0;k<schoolNumber;k++){if(checkbox[k].getState()){number++;}}if(number>max){dis++;for(int k=0;k<schoolNumber;k++){checkbox[k].setState(false);}}else if(number==0){giveup++;}else if(number>0&&number<=max){for(int k=0;k<schoolNumber;k++){if(checkbox[k].getState()){count[k]=count[k]+1;checkbox[k].setState(false);schoolVote[k].setText(checkbox[k].getLabel()+"的得票数:"+count[k]);}else{schoolVote[k].setText(checkbox[k].getLabel()+"的得票数:"+count[k]);}}}votemess.setText("⼰统计了:"+totalVote+"张选票,其中弃权票:"+giveup+"作废票:"+dis); }else if(e.getSource()==sort){for(int i=0;i<schoolNumber;i++){for(int j=i+1;j<schoolNumber;j++){if(count[j]>count){String str_temp=schoolVote.getText();schoolVote.setText(schoolVote[j].getText());schoolVote[j].setText(str_temp);int nnn=count;count=count[j];count[j]=nnn;}}}sort.setEnabled(false);sure.setEnabled(false);}else if(e.getSource()==resh){totalVote=0;votemess.setText("⼰统计了:"+totalVote+"张选票");name.setText(null);com.setEnabled(true);sure.setEnabled(true);sort.setEnabled(true);for(int i=0;i<=4;i++){count=0;schoolVote.setText(null);p2_1.removeAll();}}}/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubnew VoteTest().show();}}希望本⽂所述对⼤家学习java软件编程有所帮助。
用Java实现投票系统
else{ //否则
count++; //计数加一
voters.add(this); //调用字符串函数添加投票人姓名
System.out.println(name+":感谢你投票!"); //打印投票人姓名和感谢你投票!
/**投票*/
public void voteFor(){ //投票函数
if(count==MAX_COUNT){ //如果计数结果等于投票人数最大值
System.out.println("投票活动已经结束"); //打印投票活动已经结束
return; //返回主函数
}
if(voters.contains(this)) //如果已包含投票人姓名
}
}
/**打印投票结果*/
public static void printVoteResult(){ //投票结果函数
System.out.println("当前投票数为:"+count); //打印当前投票数为,并且统计人数
System.out.println("参与投票的选民名单如下"); //打印参与投票的选民名单如下
Voter mike=new Voter("Mike"); //开辟空间定义元素mike
Voter jack=new Voter("Jack"); //开辟空间定义元素jack
tom.voteFor(); //进入tom的投票函数
tom.voteFor(); //进入tom的投票函数
JSP实训八student(JSP+JavaBean+Servlet实现投票系统)
JSP实训八(JSP+JavaBean+Servlet实现投票系统)一、实训目的:1、掌握MVC模式。
2、掌握投票系统的前台和后台的实现。
二、实训内容:(一)实验一:投票系统前台的实现1、创建项目chapter9-1,编写login.jsp,用于用户投票。
访问页面如图1所示:图1、login.jsp页面2、把数据库驱动程序复制到lib下。
3、编写J,成员属性有:private Integer id;private String content;private Double number;private String title;4、在项目中添加处理汉字的过滤器SetCharacterEncodingFilter。
5、创建数据库test表ballot:create table `test`.`ballot`(`id` INT not null auto_increment,`content` VARCHAR(50),`number` DOUBLE,`title` VARCHAR(50),primary key (`id`));6、编写result.jsp页面,如图2所示:图2、result.jsp页面7、编写,用于数据库连接、访问。
private Connection getConnection(){Connection con = null;try {Class.forName("com.mysql.jdbc.Driver");} catch (ClassNotFoundException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}String url = "jdbc:mysql://localhost/test";try {con = DriverManager.getConnection(url,"root","root");} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return con;}//添加投票public boolean updateBallot(Integer id ,Double number){boolean bool = false;Connection con = this.getConnection();try{con.setAutoCommit(false);Statement sm = con.createStatement();String sql = "update ballot set number="+number+" where id="+id;sm.execute(sql);con mit();sm.close();con.close();bool = true;}catch(SQLException sql){sql.printStackTrace();}catch(Exception e){e.printStackTrace();}return bool;}//查询一条信息public BallotBean queryOneBallot(Integer id){BallotBean bean = new BallotBean();Connection con = this.getConnection();try{Statement sm = con.createStatement();String sql = "select * from ballot where id="+id;ResultSet result = sm.executeQuery(sql);while(result.next()){bean.setId(result.getInt("id"));bean.setContent(result.getString("content"));bean.setNumber(result.getDouble("number"));}}catch(SQLException sql){sql.printStackTrace();}catch(Exception e){e.printStackTrace();}return bean;}public List queryAllBallot(){List ballotList = new ArrayList();Connection con = this.getConnection();try{Statement sm = con.createStatement();String sql = "select * from ballot";ResultSet result = sm.executeQuery(sql);while(result.next()){BallotBean bean = new BallotBean();bean.setId(result.getInt("id"));bean.setContent(result.getString("content"));bean.setNumber(result.getDouble("number"));bean.setTitle(result.getString("title"));ballotList.add(bean);}}catch(SQLException sql){sql.printStackTrace();}catch(Exception e){e.printStackTrace();}return ballotList;}8、编写,用于处理用户提交信息。
网上常见的简单投票代码
⽹上常见的简单投票代码在⽹上我们经常能看到投票,本⽂就是介绍⼀个简单的投票如何做。
1:代码变量介绍$vote:题⼲实体。
$options:选项集合。
2:前台部分代码及注释//题⼲<p class="c_6d f14 ti2"><?php if(count($vote) > 0 && $vote=$vote[0]):?><?php echo mb_substr($vote['name'], 0, 55, 'utf8');?><?php endif;?></p>//操作选项<form id="voteForm"><table cellpadding="0" cellspacing="0"><?php foreach ($options as $v):?><tr><td width="15">//判断题是单选还是多选 注意name的值:'option[]',value的值:是选项的编号<input name='option[]' value="<?php echo $v['id'];?>" type="<?php echo $vote['type'] == 1 ? 'radio':'checkbox'?>" /> </td><td width="200">//选项⽂本<a title="<?php echo $v['name'];?>" target="_blank" href="javascript:void(0)" class="f14"><?php echo mb_substr($v['name'], 0, 17, 'utf8');?></a></td><td width="50" class="tr"><span class="c_6d">//得到的票数 注意span的命名⽅式 ⽤'score'+选项的编号<span id="score<?php echo $v['id'];?>"><?php echo $v['count'];?></span>票</span></td></tr><?php endforeach;?><tr><td colspan="3" height="40"><input id="voteBtn" name="submit" type="button" class="button_tp" value="" /><input id="voteReset" type="reset" style="display:none" /></td></tr></table></form><script type="text/javascript">$(function(){$("#voteBtn").click(function(){var flag = false;//标记是否选择了选项var form = $("#voteForm");//form表单对象var options = form.find("input[name='option[]']");//选项集合//如果⽤户选择了投票选项 把flag设置true 退出循环$(options).each(function(i){if($(this).attr('checked') == 'checked'){flag = true;return false;}});if(!flag){alert('请选择投票选项');return false;}jj.ajax("<?php echo site_url() . '?c=newsc&m=vote'?>",form.serialize(),function(data){//后台返回的数据格式是 [{'id':1},{'id':2}] 是⽤户投的选项的编号的集合var ids = eval('(' + data + ')');//处理前台投票选项得到得票数$(ids).each(function(i){var id = $(this).attr('id');var score = $("#score" + id);var oldScore = parseInt(score.html(), 10);score.html(oldScore + 1);});$("#voteReset").click();alert('投票成功');});});});</script>3:后台代码及注释public function vote(){$options = $_POST['option'];//取投的选项的编号集合//更新选项所得票数 并拼写出[{'id':1},{'id':2}]这样的字符串$msg = '[';for($i=0,$j=count($options); $i<$j; $i++){$id = $options[$i];$where = array('id' => $id);$model = $this->optionm->getModel($where);$d['count'] = intval($model['count']) + 1;$this->optionm->update($d, $where);if($i != $j-1){//注意末尾有⼀个英⽂的逗号','$msg .= '{id:' . $id . '},';}else{$msg .= '{id:' . $id . '}';}}$msg .= ']';echo $msg;}本博⽂只介绍了⼀个简单的投票,并没有对投票进⾏过滤(不能重复投票),⽤户每次投票前判断⼀下,投票成功以后记录⼀下ip,这样可以做⼀个简单的过滤。
网上在线投票系统(论文范文-JSP-JAVA-毕业设计)
毕业论文(设计)题目在线投票系统学生姓名学号班级专业分院指导教师2008年04月04日内容包括:题目在线投票系统摘要与关键词JSP 投票目录绪论正文结论致谢语参考文献附录目录第1部分概述 (3)第2部分分析部分 (5)2.1.功能需求 (5)第3部分系统设计 (5)3.1.功能模块设计 (5)3.2.数据库的设计 (6)第4部分系统开发 (6)4.1.数据库 (6)4.1.1.创建数据库 (6)4.1.2.创建表 (6)4.1.3.连接数据库 (7)4.2.功能的实现 (8)4.3.问题与解决 (9)第5部分运行部分 (9)5.1.系统的安装 (9)5.2.系统的使用 (10)第6部分附录 (13)附录1运行环境 (13)1.1硬件要求 (13)1.2.软件要求 (13)附录2设计代码 (14)1.vote.jsp (14)2.result.jsp (16)3.add.jsp (19)4.del.jsp (23)5.display.jsp (25)6.modify.jsp (27)7. DBConnect.java (33)第1部分概述在线投票系统主要用来统计网站用户对某个主题或热门话题的意见。
决策者通过这些统计数据做出相应的决策。
在线投票系统是一般网站必备的程序之一,如果网站开发者想了解用户对该网站的意见和建议。
他可以设计这样一个投票主题:你认为该网站如何?(A.很好B.一般C.不好)然后提供给用户进行投票。
我的投票系统具有极大的灵活性,投票类型分为单选投票和多选投票。
管理员可以在线设计不同的投票主题供用户进行投票。
对于该设计报告还有什么不当之处请见谅,同时也希望你能多提宝贵意见。
我会认真参考您的意见,修改和完善该系统。
术语列表:JSP:(Java Server Pages),JSP是一种基于Java的技术,用来产生跨平台和跨Web服务器的动态页面。
JDBC:(Java DataBase Connectivity),Java数据库连接。
Java实例---简单的投票系统
Java实例---简单的投票系统代码分析InputData.java1package vote;23import java.io.BufferedReader;4import java.io.IOException;5import java.io.InputStreamReader;67public class InputData {89private BufferedReader buf ;1011public InputData()12 {13this.buf = new BufferedReader(new InputStreamReader(System.in));14 }1516public String getString(String info)17 {18 String str = null;19 System.out.println(info);20try {21 str = this.buf.readLine();22 } catch (IOException e) {23// TODO ⾃动⽣成的 catch 块24 e.printStackTrace();25 }26return str;2728 }2930public int getInt(String info,String error)31 {32int temp = 0;33 String str = null;34 str = this.getString(info);35if(str.matches("\\d+")){36 temp = Integer.parseInt(str);37 }else{38 System.out.println(error);39 }4041return temp;42 }434445 }View CodePerson.java1package vote;23public class Person implements Comparable<Person>{4private String name;5private int stu_Id;67public Person(String name, int stu_Id, int voteNum) {8super(); = name;10this.stu_Id = stu_Id;11this.voteNum = voteNum;12 }1314public String getName() {15return name;16 }17public void setName(String name) { = name;19 }20public int getStu_Id() {21return stu_Id;22 }23public void setStu_Id(int stu_Id) {24this.stu_Id = stu_Id;25 }26public int getVoteNum() {27return voteNum;28 }29public void setVoteNum(int voteNum) {30this.voteNum = voteNum;31 }32private int voteNum;3334 @Override35public int compareTo(Person o) {36// TODO ⾃动⽣成的⽅法存根37if(this.getVoteNum() > o.getVoteNum())38 {39return -1;40 }else if(this.getVoteNum() < o.getVoteNum())41 {42return 1;43 }else44 {45return 0;46 }47 }48 }View CodeVoteOperate.java1package vote;23import java.io.File;4import java.util.Arrays;56public class VoteOperate {7private Person[] per = {new Person("⼩⽶",001,0),new Person("⼤⽶",002,0), new Person("⽟⽶",003,0), 8new Person("稀饭",004,0),new Person("刘能",005,0),new Person("逼",006,0)};910private InputData input ;11private boolean flag = true;12private int sum;13private int errorVote;1415public VoteOperate()16 {17this.input = new InputData();18while(flag)19 {20 ++sum;21this.voteForCandidate();22 }23this.printInfo();24this.getResulet();25 }2627public void voteForCandidate()28 {29int temp = 0;30 temp = input.getInt("请输⼊候选⼈编号(0表⽰投票结束)", "投票只能是数字,范围0-" + per.length); 31switch (temp) {32case 1:33 {34this.per[0].setVoteNum(this.per[0].getVoteNum() + 1);35break;36 }3738case 2:39 {40this.per[1].setVoteNum(this.per[1].getVoteNum() + 1);41break;42 }4344case 3:45 {46this.per[2].setVoteNum(this.per[2].getVoteNum() + 1);47break;48 }4950case 4:51 {52this.per[3].setVoteNum(this.per[3].getVoteNum() + 1);53break;54 }5556case 5:57 {58this.per[4].setVoteNum(this.per[4].getVoteNum() + 1);59break;60 }61case 6:62 {63this.per[5].setVoteNum(this.per[5].getVoteNum() + 1);64break;65 }66case 0:67 {68 System.out.println("退出系统");69this.flag = false;70break;71 }72default:{73 System.out.println("请重新输⼊⼀个数字:");74this.errorVote++;75 }76 }77 }7879//打印候选⼈信息:80public void printInfo(){81for(int i=0;i<per.length;i++){82 System.out.println(this.per[i].getStu_Id() + ":"83 + this.per[i].getName() + "【"+this.per[i].getVoteNum()+"】") ;84 }85 }8687//获取结果88public void getResulet(){89 Arrays.sort(per);90if ((sum - 1 )==0)91 {92 System.out.println("投票故障...");93 }94else95 {96 System.out.println("投票最终结果:" + "\n共投出:" + ( this.sum - 1 )+ "票,其中,错误投票 : " + this.errorVote + "票,有效票" + ( this.sum - 1 - this.errorVote) + "\n"97 + this.per[0].getName()+"同学,最后以"+this.per[0].getVoteNum()+"票当选班长!") ;98 }99 };100101 }View CodeTest.java1package vote;23public class Test {4public static void main(String[] args) {5new VoteOperate();6 }7 }View Code效果截图源码下载。
基于JSP+Servlet+JavaBean评审投票管理系统设计与实现
表 、考评结果表 、系统设置表。
表 1 考 评 人 员 表
( 2 )专家管理 :包 括设 置 、修改评 审专家数量 。
( 3 )优 秀上 限管理 :包括设 置 、修 改考评 人员 优秀上 限 数量 。 ( 4 )设置二次投票。 1 . 2 投票管理
则结果为不合格 ,否则 ,结果 为合格 。
l 系统 功 能模块
1 . 1 后 台管理 在投票开始之前 ,管理员首先要添加考评人员 ,将所有要参
2 数 据库
本 系统采用 My S Q L数据库 ,共设计 了 3张表 ,考评 人员
加考评的人员姓名添加进系统 ;管理员还要设置参加评审的专家 数量 ,投票结果与专家数量相关 ;管理员还需要设 置考评人 员 优秀上 限 .因为每次投票 的综合评价优秀数量不能超过总考评 人数的一定 比例 ;如果第一次投票结果 出现并列而使优秀总人 数超 出优秀数量上限,管理员可以设置对某些人进行二次投票 。
层架 构模 式 .它 由 J S P 、S e r v l e t 和J a v a B e a n等 3 个 主要元 素组
成 。其 中 J S P用 于生成 H T ML页面 。并 返 回给客户 端 .完成
( 1 )所有专家投完后 ,才能查看投票结果 。 ( 2 )保存第一 次投票结 果 ,投票结果 是根据 投票票数 生
成 ,第二次投 票会修改 数据库 ,为了在第二 次投票 后仍 能看 到第一次 的投票结果 ,需要将 第一 次的投票结果进行保存 。 ( 3 )对投票结果导出到 E x c e l 表 中。
数据 显示 ,对 应 于 MV C中 的 V i e w;S e r v l e t 用 于接 收用 户请
web程序设计第9章JSP,JavaBean与Servlet实现投票系统
9.9 小结
• 本章的重点是介绍使用JSP+Servlet+JavaBean开 发模式来进行项目开发。通过实现一个简单的投 票系统,让读者来感受这种开发模式的优势。此 外,在本章的开头还将两种开发模式做了一个比 较,就是想让读者理解各种开发模式的优劣,在 以后的开发中有所选择。
• JSP Model I的工作过程为,用户通过浏览器访问Web应用的JSP页 面,JSP提供UI显示,JavaBean处理数据库访问和业务逻辑。这种 开发方式最大的优势是直接、简单,对于小型应用方便、快捷, 但对于复杂的大型应用程序,实现JSP Model I就显得不能满足。 如果不加选择地随意运用此模式,会导致JSP页面被嵌入大量的脚 本片段或Java代码,特别是当需要处理的请求量很大时,情况更 为严重。尽管这对于Java程序员来说可能不是什么大问题,但如 果JSP页面是由网页设计人员开发并维护的(通常这是开发大型项 目的规范),这就确实是个问题了。从根本上讲,这将导致角色 定义不清和职责分配不明,给项目管理带来不必要的麻烦。
9.7 在JSP中以百分比形式显示当前结果
• 投票结果显示样式,即将结果计算成百分比形式显示。在 result.jsp页面中只是将结果显示出来,并没有计算百分 比。百分比计算在Servlet中完成,主要代码如下所示。
• for(int i=0;i<ballotList.size();i++){
•
BallotBean baBean =
• 创建添加待投票项目页面,该页面中有一个form 表单,(详细内容请参照本书)
eclipse创建电影票选票系统代码
eclipse创建电影票选票系统代码privatestaticvoidshowBusinessMain(){while(true){System.out.println("=================商家登录界面===============");System.out.println(loginUser.getUserName()+(loginUser.g etSex()=="男"?"先生":"女士")+"欢迎您进入系统");System.out.println("1.展示详情");System.out.println("2.上架电影");System.out.println("3.下架电影");System.out.println("4.修改电影");System.out.println("5.退出系统");System.out.println("请输入操作命令:");Stringcommand=SYS_SC.nextLine();switch(command){case"1"://展示全部影片信息功能showBusinessInfos();break;case"2"://上架电影addMovie();break;case"3"://下架影片deleteMovie();break;case"4":updateMovie();break;case"5":System.out.println("退出成功");return;//干掉方法default:System.out.println("输入有误,请重新输入"); break;}}}/***用户购票功能*/privatestaticvoidbuyMovie(){showAllMovies();System.out.println("=================用户购票================");while(true){System.out.println("请您输入需要买票的门店:");StringshopName=SYS_SC.nextLine();//查询是否有该商家Businessbusiness=getBusinessByShopName(shopName);if(business==null){System.out.println("不存在该商家");}else{//此商家全部影片List<Movie>movies=ALL_MOVIES.get(business);//判断是否存在上映影片if(movies.size()>0){while(true){//开始选片购买System.out.println("请您输入购买影片名:");StringmovieName=SYS_SC.nextLine();//查询当前商家的影片Moviemovie=getMovieByshopName(business,movieName);if(movie!=null){//开始购买while(true){System.out.println("请输入购买的电影票的数量:");Stringnumber=SYS_SC.nextLine();intbuyNumber=Integer.valueOf(number);//判断是否购票if(movie.getNumber()>=buyNumber){//可以购买//当前需要花费的金额doublemoney=BigDecimal.valueOf(movie.getPrice()).multip ly(BigDecimal.valueOf(buyNumber)).doubleValue();if(loginUser.getMoney()>=money){//可以买票System.out.println("您成功购买了!"+movie.getName()+buyNumber+"张票!总金额为:"+money);//更新自己的金额,更新商家的金额loginUser.setMoney(loginUser.getMoney()-money);business.setMoney(business.getMoney()+money);//更新票movie.setNumber(movie.getNumber()-buyNumber);Customerc=newCustomer();c.setCustomerMovieName(movie.getName());c.setCustomerMovieactor(movie.getActor());c.setCustomerMoviescore(movie.getScore());c.setCustomerMovietime(movie.getTime());c.setCustomerMovieprice(movie.getPrice());c.setCustomerMovienumber(movie.getNumber());c.setCustomerMoviestartTime(movie.getStartTime()); ALL_OKMOVIES.add(c);return;}else{//钱不够System.out.println("您当前余额不足");System.out.println("请问是否继续买票?y/n"); Stringcommand=SYS_SC.nextLine();switch(command){case"y":break;default:return;}}}else{//票数不够System.out.println("您当前最多购买"+movie.getNumber()+"张票");System.out.println("请问是否继续买票?y/n");Stringcommand=SYS_SC.nextLine();switch(command){case"y":break;default:return;}}}}else{System.out.println("请输入正确的电影名称");}}}else{System.out.println("该电影院没有排片");System.out.println("请问是否继续?y/n");Stringcommand=SYS_SC.nextLine();switch(command){case"y":break;default: return; }}}}}。
idea servlet例子
idea servlet例子在Java中,Servlet是一种服务器端Java程序,它可以处理HTTP 请求和响应。
通过使用Servlet,可以创建交互式Web应用程序和动态Web内容。
以下是一个使用Servlet的例子:1. 首先,在Eclipse或任何其他Java IDE中,创建一个新的动态Web项目。
2. 创建一个新的Servlet类。
您可以在您的项目中的src文件夹中创建一个新的包,并在该包中创建一个新的类。
让我们称之为MyServlet。
3. 在MyServlet类中,扩展HttpServlet类并覆盖doGet()和doPost()方法。
4. 在doGet()方法中,编写代码以设置响应内容和响应头。
5. 在Web.xml文件中,将MyServlet映射到URL路径。
例如,如果您希望MyServlet响应来自/my-servlet路径的请求,请在Web.xml文件中添加以下代码:<servlet><servlet-name>MyServlet</servlet-name><servlet-class>com.example.servlets.MyServlet</servlet-clas s></servlet><servlet-mapping><servlet-name>MyServlet</servlet-name><url-pattern>/my-servlet</url-pattern></servlet-mapping>6. 现在,您可以运行应用程序并使用浏览器访问http://localhost:<port>/my-servlet路径,以触发MyServlet并查看响应。
下面是一个简单的MyServlet例子: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 MyServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {resp.setContentType('text/html');PrintWriter out = resp.getWriter();out.println('<html><body>');out.println('<h1>Hello, World!</h1>');out.println('</body></html>');}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);}}该Servlet将响应一个包含“Hello, World!”消息的HTML页面。
简单投票计数器java代码
简单投票计数器java代码import java.awt.*;import java.awt.event.*;import java.io.BufferedWriter;import java.io.FileWriter;import java.io.IOException;import javax.swing.*;public class ElectToo extends JFrame implements ActionListener,ItemListener{static ElectToo frm=new ElectToo();static Save sa=new Save();static JLabel lab1=new JLabel("总⼈数:");static JLabel lab2=new JLabel("最⾼票数选⼿:");static JLabel lab3=new JLabel("最⾼票数:");static JDialog dg=new JDialog();static JLabel lab4=new JLabel();static JLabel lab5=new JLabel();static JLabel lab6=new JLabel();static JLabel lab7=new JLabel();static JLabel lab8=new JLabel();static JLabel lab9=new JLabel();static JLabel lab10=new JLabel();static JLabel lab11=new JLabel();static JLabel lab12=new JLabel();static JLabel lab13=new JLabel();static JButton btn1=new JButton("提交");static JButton btn2=new JButton("刷新");static JButton btn3=new JButton("保存");static JButton btn4=new JButton("取消");static TextField tf1=new TextField("",5);static TextField tf2=new TextField("",15);static TextField tf3=new TextField("",5);static JCheckBox jb1=new JCheckBox("陈明茂");static JCheckBox jb2=new JCheckBox("张三");static JCheckBox jb3=new JCheckBox("李四");static JCheckBox jb4=new JCheckBox("王五");static JCheckBox jb5=new JCheckBox("张三丰");static JCheckBox jb6=new JCheckBox("乔峰");static JCheckBox jb7=new JCheckBox("萧⼗⼀郎");static JCheckBox jb8=new JCheckBox("王⽼吉");static JCheckBox jb9=new JCheckBox("费德南");static JCheckBox jb10=new JCheckBox("林⽆敌");static JPanel pan1=new JPanel();static JPanel pan2=new JPanel();static JPanel pan3=new JPanel();static JPanel pan4=new JPanel();static int count=0;static int count1=0;static int x1=100,x2=100,x3=100,x4=100,x5=100,x6=100,x7=100,x8=100,x9=100,x10=100; static int y=250;static int z=250;/**/*** @param args*/public static void main(String[] args) {// TODO ⾃动⽣成⽅法存根BorderLayout br=new BorderLayout();frm.setLayout(br);frm.addWindowListener(sa);frm.setTitle("投票计数器");frm.add(pan1,br.NORTH);pan1.setBounds(0, 0, 500, 10);pan1.add(lab1);pan1.add(tf1);pan1.add(lab2);pan1.add(tf2);pan1.add(lab3);pan1.add(tf3);frm.add(pan2,br.WEST);GridLayout gl=new GridLayout(10,1,0,3); pan2.setLayout(gl);pan2.add(jb1);pan2.add(jb2);pan2.add(jb3);pan2.add(jb4);pan2.add(jb5);pan2.add(jb6);pan2.add(jb7);pan2.add(jb8);pan2.add(jb9);pan2.add(jb10);frm.add(pan3,br.SOUTH);pan3.setBounds(150, 450, 10, 10);pan3.add(btn1);pan3.add(btn2);frm.add(pan4,br.EAST);GridLayout gl1=new GridLayout(10,1,0,3); pan4.setLayout(gl1);pan4.add(lab4);lab4.setForeground(new Color(0,0,255)); pan4.add(lab5);lab5.setForeground(new Color(0,0,255)); pan4.add(lab6);lab6.setForeground(new Color(0,0,255)); pan4.add(lab7);lab7.setForeground(new Color(0,0,255)); pan4.add(lab8);lab8.setForeground(new Color(0,0,255)); pan4.add(lab9);lab9.setForeground(new Color(0,0,255)); pan4.add(lab10);lab10.setForeground(new Color(0,0,255)); pan4.add(lab11);lab11.setForeground(new Color(0,0,255)); pan4.add(lab12);lab12.setForeground(new Color(0,0,255));lab12.setForeground(new Color(0,0,255));pan4.add(lab13);lab13.setForeground(new Color(0,0,255));frm.setSize(500, 400);frm.setLocation(400, 300);// frm.setDefaultCloseOperation(EXIT_ON_CLOSE);frm.setVisible(true);frm.setResizable(false);tf1.setEditable(false);tf2.setEditable(false);tf3.setEditable(false);btn1.addActionListener(frm);btn2.addActionListener(frm);btn3.addActionListener(frm);btn4.addActionListener(frm);jb1.addItemListener(frm);jb2.addItemListener(frm);jb3.addItemListener(frm);jb4.addItemListener(frm);jb5.addItemListener(frm);jb6.addItemListener(frm);jb7.addItemListener(frm);jb8.addItemListener(frm);jb9.addItemListener(frm);jb10.addItemListener(frm);btn1.setEnabled(false);}static class Save extends WindowAdapter{public void windowClosing(WindowEvent e){dg.setTitle("保存⽂件?");dg.setSize(200, 100);dg.add(btn3);dg.add(btn4);dg.setLayout(new FlowLayout(FlowLayout.CENTER,5,30)); dg.setLocation(400, 300);dg.setVisible(true);}}public void itemStateChanged(ItemEvent e){if(count1>0){//每个⼈⾄少投两个⼈btn1.setEnabled(true);}else{btn1.setEnabled(false);}if(count1<5){ //此投票计数器⼀个⼈只能投四票if(jb1.isSelected()){count1++;jb1.setEnabled(true);}if(jb2.isSelected()){count1++;jb2.setEnabled(true);}if(jb3.isSelected()){count1++;count1++;jb3.setEnabled(true); }if(jb4.isSelected()){count1++;jb4.setEnabled(true); }if(jb5.isSelected()){count1++;jb5.setEnabled(true); }if(jb6.isSelected()){count1++;jb6.setEnabled(true); }if(jb7.isSelected()){count1++;jb7.setEnabled(true); }if(jb8.isSelected()){count1++;jb8.setEnabled(true); }if(jb9.isSelected()){count1++;jb9.setEnabled(true); }if(jb10.isSelected()){ count1++;jb10.setEnabled(true); }}else{count1=0;if(jb1.isSelected()){jb1.setEnabled(true); }else {jb1.setEnabled(false); }if(jb2.isSelected()){jb2.setEnabled(true); }else {jb2.setEnabled(false); }if(jb3.isSelected()){jb3.setEnabled(true); }else {jb3.setEnabled(false); }if(jb4.isSelected()){jb4.setEnabled(true); }else {jb4.setEnabled(false); }if(jb5.isSelected()){jb5.setEnabled(true); }else {}else {jb5.setEnabled(false);}if(jb6.isSelected()){jb6.setEnabled(true);}else {jb6.setEnabled(false);}if(jb7.isSelected()){jb7.setEnabled(true);}else {jb7.setEnabled(false);}if(jb8.isSelected()){jb8.setEnabled(true);}else {jb8.setEnabled(false);}if(jb9.isSelected()){jb9.setEnabled(true);}else {jb9.setEnabled(false);}if(jb10.isSelected()){jb10.setEnabled(true);}else {jb10.setEnabled(false);}}}public void actionPerformed(ActionEvent e) {JButton btn=(JButton)e.getSource();if(btn==btn1){btn1.setEnabled(false);count++;tf1.setText(""+count);Graphics g=getGraphics();g.setColor(Color.RED);if(jb1.isSelected()){g.fillRect(x1,70, 1, 15);x1++;}if(jb2.isSelected()){g.fillRect(x2,98, 1, 15);x2++;}if(jb3.isSelected()){g.fillRect(x3,126, 1, 15);x3++;}if(jb4.isSelected()){g.fillRect(x4,158, 1, 15);x4++;}if(jb5.isSelected()){g.fillRect(x5,188, 1, 15);x5++;}if(jb6.isSelected()){g.fillRect(x6,218, 1, 15);x6++;}if(jb7.isSelected()){g.fillRect(x7,y, 1, 15);x7++;}if(jb8.isSelected()){g.fillRect(x8,278, 1, 15);x8++;}if(jb9.isSelected()){g.fillRect(x9,308, 1, 15);x9++;}if(jb10.isSelected()){g.fillRect(x10,338, 1, 15);x10++;}int array[]={x1-100,x2-100,x3-100,x4-100,x5-100,x6-100,x7-100,x8-100,x9-100,x10-100}; lab4.setText(array[0]+"票");lab5.setText(array[1]+"票");lab6.setText(array[2]+"票");lab7.setText(array[3]+"票");lab8.setText(array[4]+"票");lab9.setText(array[5]+"票");lab10.setText(array[6]+"票");lab11.setText(array[7]+"票");lab12.setText(array[8]+"票");lab13.setText(array[9]+"票");java.util.Arrays.sort(array);tf3.setText(""+array[9]);if(array[9]==(x1-100)){tf2.setText("陈明茂");}if(array[9]==(x2-100)){tf2.setText("张三");}if(array[9]==(x3-100)){tf2.setText("李四");}if(array[9]==(x4-100)){tf2.setText("王五");}if(array[9]==(x5-100)){tf2.setText("张三丰");}if(array[9]==(x6-100)){tf2.setText("乔峰");}if(array[9]==(x7-100)){tf2.setText("萧⼗⼀郎");}if(array[9]==(x8-100)){tf2.setText("王⽼吉");}if(array[9]==(x9-100)){tf2.setText("费得南");}if(array[9]==(x10-100)){tf2.setText("林⽆敌");}if(array[9]==array[8]||array[9]==array[7]||array[9]==array[6]||array[9]==array[5]||array[9]==array[4]||array[9]==array[3]||array[ {tf2.setText("并⽴第⼀,请看图!");}if(jb1.isSelected()){jb1.setEnabled(true);}else {jb1.setEnabled(false);}if(jb2.isSelected()){jb2.setEnabled(true);}else {jb2.setEnabled(false);}if(jb3.isSelected()){jb3.setEnabled(true);}else {jb3.setEnabled(false);}if(jb4.isSelected()){jb4.setEnabled(true);}else {jb4.setEnabled(false);}if(jb5.isSelected()){jb5.setEnabled(true);}else {jb5.setEnabled(false);}if(jb6.isSelected()){jb6.setEnabled(true);}else {jb6.setEnabled(false);}if(jb7.isSelected()){jb7.setEnabled(true);}else {jb7.setEnabled(false);}if(jb8.isSelected()){jb8.setEnabled(true);}else {jb8.setEnabled(false);}if(jb9.isSelected()){jb9.setEnabled(true);}else {jb9.setEnabled(false);}if(jb10.isSelected()){jb10.setEnabled(true);}else {jb10.setEnabled(false);}}else if(btn==btn2){jb1.setSelected(false);jb2.setSelected(false);jb3.setSelected(false);jb4.setSelected(false);jb5.setSelected(false);jb6.setSelected(false);jb7.setSelected(false);jb8.setSelected(false);jb9.setSelected(false);jb10.setSelected(false);jb1.setEnabled(true);jb2.setEnabled(true);jb3.setEnabled(true);jb4.setEnabled(true);jb5.setEnabled(true);jb6.setEnabled(true);jb7.setEnabled(true);jb8.setEnabled(true);jb9.setEnabled(true);jb10.setEnabled(true);}else if(btn==btn3){JFileChooser jf=new JFileChooser();jf.showSaveDialog(ElectToo.this);String filename=jf.getSelectedFile().getAbsolutePath().trim();FileWriter fw;BufferedWriter bw;try{fw=new FileWriter(filename+".txt");bw=new BufferedWriter(fw);String array[]={jb1.getText(),":", lab4.getText(),"/r/n",jb2.getText(),":", lab5.getText(),"/r/n",jb3.getText(),":",lab6.getText(),"/r/n",jb4.getText(),":", lab7.getText(),"/r/n",jb5.getText(),":", lab8.getText(),"/r/n",jb6.getText(),":", lab9.getText(),"/r/n",jb7.getText(),":", lab10.getText(),"/r/n",jb8.getText(),":", lab11.getText(),"/r/n",jb9.getText(),":", lab12.getText(),"/r/n",jb10.getText(),":", lab13.getText()};for(int i=0; i<array.length; fw.write(array[i]));fw.close();JOptionPane.showMessageDialog(null,"保存成功") ;dg.dispose();} catch(IOException ioe){JOptionPane.showMessageDialog(null,"保存失败") ;}}else if(btn==btn4){ dg.dispose();}}}。
javaservlet代码样例(demo)
javaservlet代码样例(demo)今天⼜搞了下jsp +servlet 的代码样例,感觉虽然搭了好多次,可是每次还是不记得那些参数,都要去⽹上搜索,索性⾃⼰把这次的简单demo给记录下来,供下次使⽤的时候直接复制吧。
这个web逻辑 input.jsp ---->ReportServlet -->output.jsp (在servlet中输⼊值,将参数传递到output.jsp中)整个⽂档⽬录结构如下:相关代码如下:input.jsp:<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Insert title here</title></head><body><form method="post" action="report" ><p> seller_id</p><input type="text" name="seller_id"></input><label for="from_date">from_date:</label><input type="text" id="from_date" name="from_date" /><label for="end_date">end_date:</label><input type="text" id="end_date" name="end_date" /><input type="submit" id="submit" name="submit" /></form></body></html>output.jsp<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%@ page import="java.util.*"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Insert title here</title></head><body><%List<String> result =(List)request.getAttribute("result");%><table><%for(String str:result){%><tr><td><%=str+"\n" %></td></tr><%} %></table></body></html>web.xml(主要是注意servlet配置)<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="/2001/XMLSchema-instance" xmlns="/xml/ns/javaee" xmlns:web="/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="/xml/ns/javaee http://ja <display-name>Report</display-name><welcome-file-list><welcome-file>index.html</welcome-file><welcome-file>index.htm</welcome-file><welcome-file>index.jsp</welcome-file><welcome-file>default.html</welcome-file><welcome-file>default.htm</welcome-file><welcome-file>default.jsp</welcome-file></welcome-file-list><servlet><servlet-name>reportServlet</servlet-name><servlet-class>.ReportServlet</servlet-class></servlet><servlet-mapping><servlet-name>reportServlet</servlet-name><url-pattern>/report</url-pattern></servlet-mapping></web-app>ReportServlet.java 内容package ;import java.io.IOException;import java.io.PrintWriter;import java.util.ArrayList;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;public class ReportServlet extends HttpServlet{public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doPost(request,response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String from_date = request.getParameter("from_date");System.out.println(from_date);List <String> result = new ArrayList<String>();result.add("apple");result.add("apple");result.add("apple");result.add("apple");//HttpSession session=request.getSession();request.setAttribute("result", result);request.getRequestDispatcher("output.jsp").forward(request,response);//return ;//response.sendRedirect("/Report/output.jsp");//request.//response.sendRedirect(arg0)// response.setContentType("text/html;charset=utf-8");// PrintWriter out = response.getWriter();// request.setCharacterEncoding("utf-8");// out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">"); // out.println("<HTML>");// out.println(" <HEAD><TITLE>display survey information</TITLE></HEAD>");// out.println(" <BODY>");// out.println("<h2>⽤户输⼊的信息</h2>");// out.println("⽤户名:"+request.getParameter("name")+"<br>");// out.println("e-mail:"+request.getParameter("email")+"<br>");// out.println("年纪:"+request.getParameter("age")+"<br>");// out.println("编程时间:"+request.getParameter("codetime")+"<br>");// out.println("你使⽤的操作系统:");// printValues(out,request.getParameterValues("os"));// out.println("你使⽤的编程语⾔:");// printValues(out,request.getParameterValues("language"));// out.println("建议:"+request.getParameter("comment")+"<br>");// out.println(" </BODY>");// out.println("</HTML>");// out.flush();// out.close();}public void printValues(PrintWriter out,String[] values){if(values==null || values.length==0)return;out.println("<ul>");for(int i=0;i<values.length;i++){out.println("<li>"+values[i]+"</li>");}out.println("</ul>");}}View Code好了,就这样了,祝学习web的朋友们好运。
任务2网络在线投票实现.
2
知识要点 • Cookie对象
– Cookie对象的常用属性和方法 – Cookie对象的应用
/*我的想法,我的CODE*/
•
Server对象
– Server对象的常用属性和方法 – Server对象的应用
•
文件读写
– File类 – StreamReader类 – StreamWriter类
湖南信息职业技术学院
•
通过键/值来添加Cookie
Response.Cookies["uName"].Value = "xiaoli"; Response.Cookies["uName"].Expires = DateTime.Now.AddDays(1);
湖南信息职业技术学院
—— 程序设计
6
Cookie对象的应用
湖南信息职业技术学院
—— 程序设计
9
Cookie对象的应用
• 创建HttpCookie对象来添加
HttpCookie aCookie = new HttpCookie("userInfo"); aCookie.Values["uName"] =" xiaoli "; aCookie.Values["pwd"] ="admin"; aCookie.Expires = DateTime.Now.AddDays(1); Response.Cookies.Add(aCookie);
湖南信息职业技术学院
—— 程序设计
12
Cookie对象的应用
/*我的想法,我的CODE*/
– 当复选框chkState被选中时,创建多值Cookie,并设置其有效期,为Login.aspx 添加Page_Load事件
springboot项目,servlet实现一个转盘抽奖程序
springboot项目,servlet实现一个转盘抽奖程序继上面第二个springboot项目后,今晚应朋友需求帮忙写个抽奖程序,想着就用springboot+servlet去发布一个服务给前端直接调用或者后端直接调用。
下面来介绍一下:1、不错,依然需要一个Application的启动springboot的入口[java] view plain copyprint?1.import2.import3.import4.5./**6.* Created by LK on 2016/5/7.7.*/8.@SpringBootApplication9.@ServletComponentScan10.public class11.public static void12.class13.14.特别的注意一下,是通过使用注解注册Servlet@ServletComponentScan2、下面就创建一个类来实现HttpServlet[java] view plain copyprint?1.import2.import3.import4.import5.import6.import7.import8.9./**10.* Created by LK on 2016/5/7.11.*/12.@WebServlet"/lottery/go""请在前端ajax调用或者直接httpclient直接调用,可以返回抽奖结果,需要别的功能可以继续扩展"13.public class extends14.@Override15.protected voidthrows16.this17.18.19.@Override20.protected voidthrows21.new22.//奖品id,min,max,prize【奖项】,v【中奖率】23.1114"一等奖"124.2346364"一等奖"125.31644"不要灰心"1026.44674"神马也没有"1027.576104"祝您好运"1028.6106134"二等奖"229.7136164"再接再厉"1030.8166194"神马也没有"1031.9196224"运气先攒着"1032.10226254"三等奖"533.11256284"要加油哦"1034.12286314"神马也没有"1035.13316344"谢谢参与"1036.37.//抽奖后返回角度和奖品等级38."text/html;charset=UTF-8"39."{\"angle\":\""0"\",\"m sg\":\""2"\"}"40."转动角度:"0"\t奖项ID:"1"\t提示信息:"241.42.//抽奖并返回角度和奖项43.public44.//概率数组45.new46.for int047.448.49.//根据概率获取奖项id50.//旋转角度51.int new21152.3//提示信息53.return new54.55.56.//根据概率获取奖项57.public58.null59.try60.int0//概率数组的总概率精度61.for int062.63.64.for int0//概率数组循环65.int new//随机生成1到sum的整数66.if//中奖67.68.break69.else70.71.72.73.catch74.75.76.return77.78.3、运行Application的main之后,直接浏览器访问 http://127.0.0.1:8080/lottery/Go即可得到抽奖结果。
servlet 例子
servlet 例子Servlet是JavaEE中常用的一个技术,用于处理 Web 应用程序中的客户端请求和响应。
下面是一个简单的 Servlet 示例:1. 创建一个 Java 类,继承 HttpServlet 类。
2. 在类中重写 doGet() 方法,该方法会处理客户端发起的 GET 请求。
3. 在 doGet() 方法中,可以通过 request 对象获取客户端传递的参数,也可以通过 response 对象将处理结果返回给客户端。
4. 将该 Java 类打包成 WAR 包,将其部署到 Web 服务器中。
5. 客户端可以通过 URL 访问该 Servlet,Web 服务器会将请求转发给该 Servlet 并执行相应的逻辑,最终将结果返回给客户端。
示例代码:```import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class HelloServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String name = request.getParameter('name');response.setContentType('text/html;charset=UTF-8');PrintWriter out = response.getWriter();out.println('<html>');out.println('<head><title>HelloServlet</title></head>');out.println('<body>');out.println('<h1>Hello ' + name + '!</h1>');out.println('</body>');out.println('</html>');}}```在这个示例中,我们创建了一个名为 HelloServlet 的 Servlet,它可以根据客户端传递的 name 参数,向客户端输出一条问候语。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
buf.append(names[i]+":"+counts[i]+"<br>");
}
buf.append("</body></html>");
doGet(request, response);
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
int[] counts;
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
} catch (Exception e) {
}
} else {
counts = new int[names.length];
<table align="center">
<tr>
<td align="center">选择候选人</td>
</tr>
<tr>
<td><SELECT name=candidate size=1>
</tr>
<tr>
<td><input type="radio" name="candidate" value="McCain">McCain</td>
</tr>
<tr>
<td align="center"><INPUT TYPE=submit VALUE="提交"></td>
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String value = request.getParameter("candidate");
}
for(int i=0;i<names.length;i++)
{
if(names[i].equals(value))
{
<BODY>
<FORM METHOD="POST" ACTION="http://localhost:8088/myweb/exec">
<table align="center">
<tr>
<td align="center">选择候选人</td>
{
document.forms[0].submit();
}
</script>
<BODY>
<FORM METHOD="POST" ACTION="http://localhost:8088/myweb/exec">
<table align="center">
<tr>
</tr>
</table>
</FORM>
</BODY>
</HTML>
2、使用下拉列表框界面
Servlet不变,网页为:
<HTML>
<HEAD>
</HEAD>
<BODY>
<FORM METHOD="POST" ACTION="http://localhost:8088/myweb/exec">
new FileInputStream(f));
counts = (int[]) input.readObject();
input.close();
<td align="center"><INPUT TYPE=submit VALUE="提交"></td>
</tr>
</table>
</FORM>
</BODY>
</HTML>
3、给下拉列表框增加自动提交功能
Servlet不变,网页为:
public class Exec extends javax.servlet.http.HttpServlet implements
javax.servlet.Servlet {
String[] names = { "Obama", "McCain" };
<td align="center">选择候选人</td>
</tr>
<tr>
<td><input type="radio" name="candidate" value="Obama"
checked="checked" >Obama</td>
<table align="center">
<tr>
<td align="center">选择候选人</td>
</tr>
<tr>
<td><input type="radio" name="candidate" value="Obama" checked="checked">Obama</td>
<OPTION selected>Obama</OPTION>
<OPTION>McCain</OPTION>
</SELECT></td>
</tr>
<tr>
File f = new File("surveys.txt");
if (f.exists()) {
try {
ObjectInputStream input = new ObjectInputStream(
</FORM>
</BODY>
</HTML>
4、给单选钮增加自动提交功能
Servlet不变,网页为:
<HTML>
<HEAD>
</HEAD>
<script type="text/javascript">
// 该客户端脚本允许在选择完单选按钮列表后即可自动提交表单
function submit()
</tr>
<tr>
<td><SELECT name=candidate size=1 >
<OPTION selected>Obama</OPTION>
<OPTION>McCain</OPTION> 1、使 Nhomakorabea单选钮界面
Servlet为:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
new FileOutputStream(f));
output.writeObject(counts);
output.close();
import java.io.ObjectOutputStream;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
counts[i]++;
break;
}
}
ObjectOutputStream output = new ObjectOutputStream(
out.println(buf.toString());
}
}
网页为:
<HTML>
<HEAD>
</HEAD>