扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
说说servlet里面的方法:
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的彭泽网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
public void ValidateUserPass(String user,String pass){
RequestDispathcher rd =null
//假使你的代码是从DB中获取
DBFactory db=DBFactoryImpl.getDBFactoryInstance();//得到数据库链接
flg=db.findUser(user,pass);
// 这里是不存在用户
if(flg.hasNext()==-1){
// 登录时错误了,一般我们会给用户一个提示
session.setAttirbute("msg","对不起,用户名或密码错误");
RequestDispathcher rd = req.getRequesDispatcher("login.jsp");
rd.forward(request, reponse);//将请求对象和响应对象传递进来
} // 这里是存在当前用户
else{
//当然这里登录成功时,我们要把当前用户写到session里面保存
session.setAttirbute("userName",user);
//这个请求转发语句
request.sendRedirect("index.html");
}
}
// * 上述代码,你可以参考下我的方法,我也很久没做JAVA开发了,我现在从事前端UI开发,本来我想在写一个用struts 2登录的程序的,可我现在忘得差不多了,上面我所用到的属性建议你自己好好的研究一下,往后你将学到struts2 hibernate,Spring等一系列优秀的开源框架,说白了,这些东西的底层还是这些,只不过这些框架做了一些封装隔离。上述代码建议你重点理解一下:请求转发和重定向的区别。
简单分析了一下实际上不难
最开始的6作为一个循环输入和建立数组的长度就可以
接下来对6组数据作一个简单的分析后很明显有个一个规律
1、将 最后一个数值 作为 计算数值,并且设置一个递归标记 初值为0
2、计算数值+3*(跳坏的次数-标记)= 经过时间
3、若 经过时间60
那么就有:一分钟内的次数=计算数值+(60-经过时间)
4、若 60=经过时间=62
那么说明最后一次跳坏后再等待中时间结束,
那么就有:一分钟内的次数=计算数值
5、若 经过时间62
那么将 计算数值的前一个数 作为 计算数值,并将标记递增1,然后从第2步开始计算
当然可以加一个安全检测
在开始计算某一组数开始之前判断一下,第一个次跳坏前的次数若大于60,不进行计算直接输出60
代码:
import java.util.ArrayList;
import java.util.Scanner;
public class test2 {
public static void main(String [] args){
int size;
Scanner sc = new Scanner(System.in);
size = Integer.parseInt(sc.nextLine()); //输入数据总量
int [] num = new int [size];
for(int i = 0; i size; i++){
String st = sc.nextLine();
num[i] = getNumber(st);
}
for(int a:num)System.out.println(a);
}
public static int getNumber(String st){
String[] as = st.split(" "); //以空格为单位分割字符串
int [] num = new int[as.length];
for(int j = 0; j as.length ;j++)
num[j] = Integer.parseInt(as[j]);//将分割后的字符型数字转换成int型
if(num[0]==0 || num[1]=60)return 60;
int sign = 0;
int elem = num[num.length-1];
int back = -1;
while(true){
int time= elem + 3* (num[0]-sign);
if(time60){
back = elem + (60 - time);
}else if(time62){
sign++;
elem = num[num.length-1-sign];
}else{
back = elem;
}
if(back!=-1)break;
}
return back;
}
}
效果图:
按照你的要求编写的Java的带取消的警告信息框的完整程序如下
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
public class F extends JFrame implements ActionListener{
JButton jb=new JButton("确定");
JPanel jp=new JPanel();
F(){
jb.addActionListener(this);
jp.add(jb);
add(jp);
setSize(200, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String[] args) {
new F();
}
@Override
public void actionPerformed(ActionEvent ae) {
if(ae.getSource()==jb){
int n=JOptionPane.showConfirmDialog(this, "跳往另一页面?", "跳转警告",JOptionPane.WARNING_MESSAGE, JOptionPane.OK_CANCEL_OPTION);
if(n==0){
FL fl=new FL();//创建新页面
this.dispose();//销毁旧页面
}
}
}
}
class FL extends JFrame{
JLabel jl=new JLabel("另一页面");
JPanel jp=new JPanel();
FL(){
jp.add(jl);
add(jp);
setSize(200, 100);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
}
运行结果
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流