您的位置:首页 > 编程语言 > Java开发

蜗牛—JavaWeb之个人信息管理系统(四)

2013-12-29 16:15 369 查看
日程管理模块。支持增删改查等功能。日程的时间必须是在当前时间的将来。这应该 是常识吧。否则的话 可能会出现异常。

显示日程的功能——————lokkDay.jsp

<%@page import="java.util.ArrayList"%>
<%@page import="JavaBean.MyDayBean"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib  prefix="s" uri="/struts-tags" %>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><s:text name="个人信息管理系统->查看"></s:text></title>
</head>
<body bgcolor="gray">
<hr noshade/>
<s:div align="center">
<s:form action="findDayAction" method="post">
<table border="0" cellspacing="0" cellpadding="0" width="100%" align="center">
<tr>
<td width="30%">
<s:a href="http://localhost:8080/ch04/dateTimeManager/addDay.jsp">增加日程</s:a>
</td>
<td width="30%">
<s:text name="查看日程"></s:text>
</td>
<td width="40%">
<s:text name="日程时间:"></s:text>
20<input type="text" size="1" name="year"/>年
<input type="text" size="1" name="month"/>月
<input type="text" size="1" name="day"/>日
<input type="submit" value="修删日程"/>
</td>
</tr>
</table>
</s:form>
</s:div>
<hr noshade/>
<table border="5" cellspacing="0" cellpadding="0" bgcolor="#95BDFF" width="60%" align="center">
<tr>
<th width="40%">日程时间</th>
<th width="60%">日程内容</th>
</tr>
<%
ArrayList day=(ArrayList)session.getAttribute("day");
if(day==null||day.size()==0){
%>
<s:div align="center"><%="您还没有任何日程安排!"%></s:div>
<%
}else{
for(int i=day.size()-1;i>=0;i--){
MyDayBean dd=(MyDayBean)day.get(i);
%>
<tr>
<td><%=dd.getDay()%></td>
<td><%=dd.getThing()%></td>
</tr>
<%
}
}
%>
</table>
</body>
</html>
AddDayAction.java。这是添加日程的操作。
validate()方法中的代码,都差不多能看懂。执行execute()方法。

package edu.dateTimeManager.Action;

import DBJavaBean.DB;
import com.opensymphony.xwork2.ActionSupport;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.StringTokenizer;
import javax.servlet.http.HttpServletRequest;
import javax.swing.JOptionPane;
import org.apache.struts2.interceptor.ServletRequestAware;

public class AddDayAction extends ActionSupport implements ServletRequestAware{
private String year;
private String month;
private String day;
private String thing;
private String userName;
private String date;
private ResultSet rs=null;
private String message="ERROR";
private HttpServletRequest request;
public String getYear() {
return year;
}
public void setYear(String year) {
this.year = year;
}
public String getMonth() {
return month;
}
public void setMonth(String month) {
this.month = month;
}
public String getDay() {
return day;
}
public void setDay(String day) {
this.day = day;
}
public String getThing() {
return thing;
}
public void setThing(String thing) {
this.thing = thing;
}
public String getTime(){
String time="";
SimpleDateFormat ff=new SimpleDateFormat("yyyy-MM-dd");
Date d=new Date();
time=ff.format(d);
return time;
}
public void message(String msg){
int type=JOptionPane.YES_NO_CANCEL_OPTION;
String title="信息提示";
JOptionPane.showMessageDialog(null, msg, title, type);
}
public void setServletRequest(HttpServletRequest hsr) {
request=hsr;
}
public void validate(){
String mess="";
boolean Y=true,M=true,D=true;
boolean DD=false;
String time=getTime();
StringTokenizer token=new StringTokenizer(time,"-");
if(this.getYear()==null||this.getYear().length()==0){
Y=false;
mess=mess+"*年份";
addFieldError("year","年份不允许为空!");
}else if(Integer.parseInt("20"+this.getYear())<Integer.parseInt(token.nextToken())||this.getYear().length()!=2){
DD=true;
addFieldError("year","请正确填写年份!");
}
if(this.getMonth()==null||this.getMonth().length()==0){
M=false;
mess=mess+"*月份";
addFieldError("month","月份不允许为空!");
}else if(this.getMonth().length()>2||Integer.parseInt(this.getMonth())<0||Integer.parseInt(this.getMonth())>12){
DD=true;
addFieldError("month","请正确填写月份!");
}
if(this.getDay()==null||this.getDay().length()==0){
D=false;
mess=mess+"*日期";
addFieldError("day","日期不允许为空!");
}else if(this.getDay().length()>2||Integer.parseInt(this.getDay())<0||Integer.parseInt(this.getDay())>31){
DD=true;
addFieldError("day","请正确填写日程!");
}
if(Y&&M&&D){
try{
DB mysql=new DB();
userName=mysql.returnLogin(request);
date="20"+this.getYear()+"-"+this.getMonth()+"-"+this.getDay();
rs=mysql.selectDay(request, userName, date);
if(rs.next()){
message("该日程已有安排!");
addFieldError("year","该日程已有安排!");
}
}catch(Exception e){
e.printStackTrace();
}
}
if(this.getThing()==null||this.getThing().length()==0){
mess=mess+"*日程安排";
addFieldError("thing","日程安排不允许为空!");
}
if(!mess.equals("")){
mess=mess+"不允许为空!";
message(mess);
}
if(DD){
message("填写的日程无效!");
}
}
public String execute() throws Exception{
DB mysql=new DB();
userName=mysql.returnLogin(request);
date="20"+this.getYear()+"-"+this.getMonth()+"-"+this.getDay();
String dd=mysql.insertDay(request, userName, date, this.getThing());
if(dd.equals("ok")){
message="SUCCESS";
}else if(dd.equals("one")){
message="input";
}
return message;
}
}

addDay.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><s:text name="个人信息管理系统->添加日程"></s:text></title>
</head>
<body bgcolor="gray">
<hr noshade/>
<s:div align="center">
<s:form action="findDayAction" method="post">
<table border="0" cellspacing="0" cellpadding="0" width="100%" align="center">
<tr>
<td width="30%">
<s:text name="增加日程"></s:text>
</td>
<td width="30%">
<s:a href="http://localhost:8080/ch04/dateTimeManager/lookDay.jsp">查看日程</s:a>
</td>
<td width="40%">
<s:text name="日程时间:"></s:text>
20<input type="text" size="1" name="year"/>年
<input type="text" size="1" name="month"/>月
<input type="text" size="1" name="day"/>日
<input type="submit" value="修删日程"/>
</td>
</tr>
</table>
</s:form>
</s:div>
<hr noshade/>
<s:form action="addDayAction" method="post">
<table border="5" cellspacing="0" cellpadding="0" bgcolor="#95BDFF" width="60%" align="center">
<tr>
<td height="30" width="50%" align="right">日程时间</td>
<td width="50%">
20<input type="text" size="1" name="year"/>年
<input type="text" size="1" name="month"/>月
<input type="text" size="1" name="day"/>日
</td>
</tr>
<tr>
<td height="30" width="50%" align="right">日程内容</td>
<td width="50%"><input type="text" size="30" name="thing"/></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="确 定" size="12">     
<input type="reset" value="清 除" size="12">
</td>
</tr>
</table>
</s:form>
</body>
</html>
lookDay.jsp-------------
<%@page import="java.util.ArrayList"%> <%@page import="JavaBean.MyDayBean"%> <%@page contentType="text/html" pageEncoding="UTF-8"%> <%@taglib prefix="s" uri="/struts-tags" %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title><s:text name="个人信息管理系统->查看"></s:text></title> </head> <body bgcolor="gray"> <hr noshade/> <s:div align="center"> <s:form action="findDayAction" method="post"> <table border="0" cellspacing="0" cellpadding="0" width="100%" align="center"> <tr> <td width="30%"> <s:a href="http://localhost:8080/ch04/dateTimeManager/addDay.jsp">增加日程</s:a> </td> <td width="30%"> <s:text name="查看日程"></s:text> </td> <td width="40%"> <s:text name="日程时间:"></s:text> 20<input type="text" size="1" name="year"/>年 <input type="text" size="1" name="month"/>月 <input type="text" size="1" name="day"/>日 <input type="submit" value="修删日程"/> </td> </tr> </table> </s:form> </s:div> <hr noshade/> <table border="5" cellspacing="0" cellpadding="0" bgcolor="#95BDFF" width="60%" align="center"> <tr> <th width="40%">日程时间</th> <th width="60%">日程内容</th> </tr> <% ArrayList day=(ArrayList)session.getAttribute("day"); if(day==null||day.size()==0){ %> <s:div align="center"><%="您还没有任何日程安排!"%></s:div> <% }else{ for(int i=day.size()-1;i>=0;i--){ MyDayBean dd=(MyDayBean)day.get(i); %> <tr> <td><%=dd.getDay()%></td> <td><%=dd.getThing()%></td> </tr> <% } } %> </table> </body> </html>FindDayAction.java 查找对应日期的日程。
package edu.dateTimeManager.Action;

import DBJavaBean.DB;
import com.opensymphony.xwork2.ActionSupport;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.StringTokenizer;
import javax.servlet.http.HttpServletRequest;
import javax.swing.JOptionPane;
import org.apache.struts2.interceptor.ServletRequestAware;

public class FindDayAction extends ActionSupport implements ServletRequestAware{
private String year;
private String month;
private String day;
private String userName;
private String date;
private ResultSet rs=null;
private String message="ERROR";
private HttpServletRequest request;
public String getYear() {
return year;
}
public void setYear(String year) {
this.year = year;
}
public String getMonth() {
return month;
}
public void setMonth(String month) {
this.month = month;
}
public String getDay() {
return day;
}
public void setDay(String day) {
this.day = day;
}
public String getTime(){
String time="";
SimpleDateFormat ff=new SimpleDateFormat("yyyy-MM-dd");
Date d=new Date();
time=ff.format(d);
return time;
}
public void message(String msg){
int type=JOptionPane.YES_NO_CANCEL_OPTION;
String title="信息提示";
JOptionPane.showMessageDialog(null, msg, title, type);
}
public void setServletRequest(HttpServletRequest hsr) {
request=hsr;
}
public void validate(){
String mess="";
boolean Y=true,M=true,D=true;
boolean DD=false;
String time=getTime();
StringTokenizer token=new StringTokenizer(time,"-");
if(this.getYear()==null||this.getYear().length()==0){
Y=false;
mess=mess+"*年份";
addFieldError("year","年份不允许为空!");
}else if(Integer.parseInt("20"+this.getYear())<Integer.parseInt(token.nextToken())||this.getYear().length()!=2){
DD=true;
addFieldError("year","请正确填写年份!");
}
if(this.getMonth()==null||this.getMonth().length()==0){
M=false;
mess=mess+"*月份";
addFieldError("month","月份不允许为空!");
}else if(this.getMonth().length()>2||Integer.parseInt(this.getMonth())<0||Integer.parseInt(this.getMonth())>12){
DD=true;
addFieldError("month","请正确填写月份!");
}
if(this.getDay()==null||this.getDay().length()==0){
D=false;
mess=mess+"*日期";
addFieldError("day","日期不允许为空!");
}else if(this.getDay().length()>2||Integer.parseInt(this.getDay())<0||Integer.parseInt(this.getDay())>31){
DD=true;
addFieldError("day","请正确填写日程!");
}
if(Y&&M&&D){
try{
DB mysql=new DB();
userName=mysql.returnLogin(request);
date="20"+this.getYear()+"-"+this.getMonth()+"-"+this.getDay();
rs=mysql.selectDay(request, userName, date);
if(!rs.next()){
message("该日程暂无安排!");
addFieldError("year","该日程暂无安排!");
}
}catch(Exception e){
e.printStackTrace();
}
}
if(!mess.equals("")){
mess=mess+"不允许为空!";
message(mess);
}
if(DD){
message("填写的日程无效!");
}
}
public String execute() throws Exception {
DB mysql=new DB();
userName=mysql.returnLogin(request);
date="20"+this.getYear()+"-"+this.getMonth()+"-"+this.getDay();
String dd=mysql.findDay(request, userName, date);
if(dd.equals("ok")){
message="SUCCESS";
}
return message;
}
}
findDay.jsp..此页可以删除日程,然后也可以跳转到修改日程的页面。
<%@page import="JavaBean.MyDayBean"%>
<%@page import="java.util.ArrayList"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><s:text name="个人信息管理系统->查找"></s:text></title>
</head>
<body bgcolor="gray">
<hr noshade/>
<s:div align="center">
<s:form action="findDayAction" method="post">
<table border="0" cellspacing="0" cellpadding="0" width="100%" align="center">
<tr>
<td width="30%">
<s:a href="http://localhost:8080/ch04/dateTimeManager/addDay.jsp">增加日程</s:a>
</td>
<td width="30%">
<s:a href="http://localhost:8080/ch04/dateTimeManager/lookDay.jsp">查看日程</s:a>
</td>
<td width="40%">
<s:text name="日程时间:"></s:text>
20<input type="text" size="1" name="year"/>年
<input type="text" size="1" name="month"/>月
<input type="text" size="1" name="day"/>日
<input type="submit" value="修删日程"/>
</td>
</tr>
</table>
</s:form>
</s:div>
<hr noshade/>
<table border="5" cellspacing="0" cellpadding="0" bgcolor="#95BDFF" width="60%" align="center">
<tr>
<th width="40%">日程时间</th>
<th width="40%">日程内容</th>
<th width="20%">用户操作</th>
</tr>
<%
ArrayList day=(ArrayList)session.getAttribute("findday");
if(day==null||day.size()==0){
%>
<s:div align="center"><%="您还没有任何日程安排!"%></s:div>
<%
}else{
for(int i=day.size()-1;i>=0;i--){
MyDayBean dd=(MyDayBean)day.get(i);
%>
<tr>
<td><%=dd.getDay()%></td>
<td><%=dd.getThing()%></td>
<td>
<s:a href="http://localhost:8080/ch04/dateTimeManager/updateDay.jsp">修改</s:a>
<s:a href="deleteDayAction">删除</s:a>
</td>
</tr>
<%
}
}
%>
</table>
</body>
</html>
DeleteDayAction.java------execute()方法中,首先返回登录用户名 再就是找相应的日期。
package edu.dateTimeManager.Action;

import DBJavaBean.DB;
import com.opensymphony.xwork2.ActionSupport;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.interceptor.ServletRequestAware;

public class DeleteDayAction extends ActionSupport implements ServletRequestAware{
private String message="ERROR";
private String userName;
private String day;
private HttpServletRequest request;
public void setServletRequest(HttpServletRequest hsr) {
request=hsr;
}
public String execute() throws Exception {
DB mysql=new DB();
userName=mysql.returnLogin(request);
day=mysql.returnDay(request);
String dd=mysql.deleteDay(request, userName, day);
if(dd.equals("ok")){
message="SUCCESS";
}
return message;
}

}
UpdateDayAction.java
package edu.dateTimeManager.Action;

import DBJavaBean.DB;
import com.opensymphony.xwork2.ActionSupport;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.StringTokenizer;
import javax.servlet.http.HttpServletRequest;
import javax.swing.JOptionPane;
import org.apache.struts2.interceptor.ServletRequestAware;

public class UpdateDayAction extends ActionSupport implements ServletRequestAware{
private String year;
private String month;
private String day;
private String thing;
private String message="ERROR";
private HttpServletRequest request;
private String userName;
private String Day;
private String date;
private ResultSet rs=null;
public String getYear() {
return year;
}
public void setYear(String year) {
this.year = year;
}
public String getMonth() {
return month;
}
public void setMonth(String month) {
this.month = month;
}
public String getDay() {
return day;
}
public void setDay(String day) {
this.day = day;
}
public String getThing() {
return thing;
}
public void setThing(String thing) {
this.thing = thing;
}
public void setServletRequest(HttpServletRequest hsr) {
request=hsr;
}
public String getTime(){
String time="";
SimpleDateFormat ff=new SimpleDateFormat("yyyy-MM-dd");
Date d=new Date();
time=ff.format(d);
return time;
}
public void message(String msg){
int type=JOptionPane.YES_NO_OPTION;
String title="信息提示";
JOptionPane.showMessageDialog(null,msg,title,type);
}
public void validate(){
String mess="";
boolean DD=false;
String time=getTime();
StringTokenizer token=new StringTokenizer(time,"-");
if(this.getYear()==null||this.getYear().length()==0){
mess=mess+"*年份";
addFieldError("year","年份不允许为空!");
}else if(Integer.parseInt("20"+this.getYear())<Integer.parseInt(token.nextToken())||this.getYear().length()!=2){
DD=true;
addFieldError("year","请正确填写年份!");
}
if(this.getMonth()==null||this.getMonth().length()==0){
mess=mess+"*月份";
addFieldError("month","月份不允许为空!");
}else if(this.getMonth().length()>2||Integer.parseInt(this.getMonth())<0||Integer.parseInt(this.getMonth())>12){
DD=true;
addFieldError("month","请正确填写月份!");
}
if(this.getDay()==null||this.getDay().length()==0){
mess=mess+"*日期";
addFieldError("day","日期不允许为空!");
}else if(this.getDay().length()>2||Integer.parseInt(this.getDay())<0||Integer.parseInt(this.getDay())>31){
DD=true;
addFieldError("day","请正确填写日程!");
}
if(this.getThing()==null||this.getThing().length()==0){
mess=mess+"*日程安排";
addFieldError("thing","日程安排不允许为空!");
}
if(!mess.equals("")){
mess=mess+"不允许为空!";
message(mess);
}
if(DD){
message("填写的日程无效!");
}
}
public String execute() throws Exception {
DB mysql=new DB();
userName=mysql.returnLogin(request);
Day=mysql.returnDay(request);
date="20"+this.getYear()+"-"+this.getMonth()+"-"+this.getDay();
String D=mysql.updateDay(request, userName,Day, date, thing);
if(D.equals("ok")){
message="SUCCESS";
}else if(D.equals("one")){
message="input";
}
return message;
}
}
updateDay.jsp
<%@page import="JavaBean.MyDayBean"%>
<%@page import="java.util.StringTokenizer"%>
<%@page import="java.util.ArrayList"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><s:text name=""></s:text></title>
</head>
<body bgcolor="gray">
<hr noshade/>
<s:div align="center">
<s:form action="findDayAction" method="post">
<table border="0" cellspacing="0"cellpadding="0" width="100%"align="center">
<tr>
<td width="30%">
<s:a href="http://localhost:8080/ch04/dateTimeManager/addDay.jsp">增加日程</s:a>
</td>
<td width="30%">
<s:a href="http://localhost:8080/ch04/dateTimeManager/lookDay.jsp">查看日程</s:a>
</td>
<td width="40%">
<s:text name="日程时间:"></s:text>
20<input type="text" size="1" name="year"/>年
<input type="text" size="1" name="month"/>月
<input type="text" size="1" name="day"/>日
<input type="submit" value="修删日程"/>
</td>
</tr>
</table>
</s:form>
</s:div>
<hr noshade/>
<s:form action="upDayAction" method="post">
<table border="5" cellspacing="0" cellpadding="0" bgcolor="#95BDFF" width="60%" align="center">
<%
ArrayList day=(ArrayList)session.getAttribute("findday");
if(day==null||day.size()==0){
%>
<s:div align="center"><%="您还没有任何日程安排!"%></s:div>
<%
}else{
for(int i=day.size()-1;i>=0;i--){
MyDayBean dd=(MyDayBean)day.get(i);
StringTokenizer token=new StringTokenizer(dd.getDay().substring(2, dd.getDay().length()),"-");
%>
<tr>
<td height="30" width="50%" align="right">日程时间</td>
<td width="50%">
20<input type="text" size="1" name="year" value="<%=token.nextToken()%>"/>年
<input type="text" size="1" name="month" value="<%=token.nextToken()%>"/>月
<input type="text" size="1" name="day" value="<%=token.nextToken()%>"/>日
</td>
</tr>
<tr>
<td height="30" width="50%" align="right">日程内容</td>
<td width="50%"><input type="text" size="30" name="thing" value="<%=dd.getThing()%>"/></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="确 定" size="12">     
<input type="reset" value="清 除" size="12">
</td>
</tr>
<%
}
}
%>
</table>
</s:form>
</body>
</html>
这就是日程的模块。代码大部分都能读懂。
接下来就是文件模块了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: