Java+Servlet+filter+javascript+html+jsp登入注册更新个人信息

3 篇文章 0 订阅
2 篇文章 0 订阅

eclipse+Java+Servlet+filter+javascript+html+jsp+EL登入注册更新个人信息

数据库sql用vs2008或者mysql用mysql

代码粗糙,提示信息未处理融洽

软工实践的代码

配置文件两个,一个是连接sql 的,另一个是连接mysql的

http://tieba.baidu.com/p/4132531174

http://tieba.baidu.com/p/4239595151



package jianYan;

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;

/**
 * Servlet Filter implementation class CharacterEncodingFilter
 */
@WebFilter("/CharacterEncodingFilter")
public class CharacterEncodingFilter implements Filter {

    /**
     * Default constructor. 
     */
    public CharacterEncodingFilter() {
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see Filter#destroy()
	 */
    protected FilterConfig fConfig;
    protected String encoding="";
	public void destroy() {
		// TODO Auto-generated method stub 
		this.fConfig=null;
        this.encoding = null;   
	}

	/**
	 * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
	 */
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
		// TODO Auto-generated method stub
		// place your code here
        request.setCharacterEncoding(this.encoding);  
        response.setCharacterEncoding(this.encoding);  
        response.setContentType("text/html;charset="+this.encoding);  
		// pass the request along the filter chain
		chain.doFilter(request, response);
	}

	/**
	 * @see Filter#init(FilterConfig)
	 */
	public void init(FilterConfig fConfig) throws ServletException {
		// TODO Auto-generated method stub
		this.fConfig=fConfig;
        this.encoding = fConfig.getInitParameter("encoding"); 
	}

}

package jianYan;

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet Filter implementation class JiaoYanQi
 */
@WebFilter("/JiaoYanQi")
public class JiaoYanQi implements Filter {

    /**
     * Default constructor. 
     */
    public JiaoYanQi() {
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see Filter#destroy()
	 */
	public void destroy() {
		// TODO Auto-generated method stub
	}

	/**
	 * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
	 */
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
		// TODO Auto-generated method stub
		// place your code here 
		HttpServletRequest QingQiu=(HttpServletRequest)request;
		HttpServletResponse HuiYing=(HttpServletResponse)response; 
		QingQiu.setCharacterEncoding("utf-8");
		HuiYing.setCharacterEncoding("utf-8");
		String username=(String)QingQiu.getSession().getAttribute("username");
		if(username==null)
		{
			request.setAttribute("meg", "您还没有登录");
			System.out.println("no sign");
			//this.getServletContext().setAttribute( "XiaoXi","您还没有登录");
			request.getRequestDispatcher("/index.jsp").forward(request, response);
			
		}
		else
		// pass the request along the filter chain
		chain.doFilter(request, response);
	}

	/**
	 * @see Filter#init(FilterConfig)
	 */
	public void init(FilterConfig fConfig) throws ServletException {
		// TODO Auto-generated method stub
	}

}


package jianYan;

import java.io.IOException; 
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest; 
 
/**
 * Servlet Filter implementation class Person
 */
@WebFilter("/Person")
public class Person implements Filter {

    /**
     * Default constructor. 
     */
    public Person() {
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see Filter#destroy()
	 */
	public void destroy() {
		// TODO Auto-generated method stub
	}

	/**
	 * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
	 */
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
		// TODO Auto-generated method stub
		// place your code here

		
		HttpServletRequest QingQiu=(HttpServletRequest)request;
		//HttpServletResponse HuiYing=(HttpServletResponse)response; 
		ZhuCe BeanJ=(ZhuCe)QingQiu.getAttribute("bea");
		if(BeanJ==null)
		{
			request.getRequestDispatcher("/personalsee.jsp").forward(request,response);
		
		}else
		// pass the request along the filter chain
		chain.doFilter(request, response);
	}

	/**
	 * @see Filter#init(FilterConfig)
	 */
	public void init(FilterConfig fConfig) throws ServletException {
		// TODO Auto-generated method stub
	}

}

package jianYan;
import java.util.HashMap;
import java.util.Map; 
public class ZhuCe 
{
	private String username;
	private String password;
	private String p1;
	private String sex;
	private String year;
	private String monthTime;
	private String day;
	private String phone;
	private String postnum;
	private String  iden;
	private String degree;
	private Map<String,String>error=new HashMap<String,String>();
	public Map<String,String>getErrors(){return error;}
	public void setErrors(Map<String,String> err)
	{
		this.error=err;
	} 
	public void setOnlyerror(String key,String value)
	{
		error.put(key, value);
	}
	public boolean validate_ZhuCe()
	{
      boolean flags=true;
      if(this.username==null||
    		  this.username.length()>12||
    		  this.username.trim().equals("")||!this.username.matches("[a-zA-Z]{1,12}"))
      {
    	  flags=false;
    	  error.put("u1", "用户名必须是1-12位的字母");
      } 
      if(this.password==null||this.password.trim().equals("")||this.password.length()>8)
      {
         flags=false;
         error.put("p1", "密码长度小于等于8");
      }
      if(this.p1!=null)
      {
        if(!this.p1.equals(this.password))  
       {
    	    flags=false;
    	    error.put("p2", "两次密码不一致");
       } 	  
      }
      this.year+="-"+this.monthTime+"-"+this.day;
      return flags;
	}
	public int size()
	{
		return 11;
	}
	public String getValue(String str1)
	{ 
		if(str1.equals("username"))
			return this.username;
		else if(str1.equals("password"))
			return this.password;
		else if(str1.equals("p1"))
			return this.p1;
		else if(str1.equals("sex"))
			return this.sex;
		else if(str1.equals("year"))
			return this.year;
		else if(str1.equals("monthTime"))
			return this.monthTime;
		else if(str1.equals("day"))
			return this.day;
		else if(str1.equals("phone"))
			return this.phone;
		else if(str1.equals("postnum"))
			return this.postnum;
		else if(str1.equals("iden"))
			return this.iden;
		else if(str1.equals("degree"))
			return this.degree;
		else return ""; 
	} 
	public boolean setValue(String str1,String str2)
	{ 
		if(str1.equals("username"))
			this.username=str2;
		else if(str1.equals("password"))
			this.password=str2;
		else if(str1.equals("p1"))
			this.p1=str2;
		else if(str1.equals("sex"))
			this.sex=str2;
		else if(str1.equals("year"))
			this.year=str2;
		else if(str1.equals("monthTime"))
			this.monthTime=str2;
		else if(str1.equals("day"))
			this.day=str2;
		else if(str1.equals("phone"))
			this.phone=str2;
		else if(str1.equals("postnum"))
			this.postnum=str2;
		else if(str1.equals("iden"))
			this.iden=str2;
		else if(str1.equals("degree"))
			this.degree=str2;
		else return false;
		
		return true; 
	} 
	
	public String getUsername()
	{
		return username;
	}
	public void setUsername(String user)
	{
		this.username=user;
	}
	public String getPassword()
	{
		return password;
	}
	public void setPassword(String user)
	{
		this.password=user;
	}
	public String getP1()
	{
		return p1;
	}
	public void setP1(String user)
	{
		this.p1=user;
	}
	public String getsex()
	{
		return sex;
	}
	public void setsex(String user)
	{
		this.sex=user;
	}
	public String getyear()
	{
	  return year;	
	}
	public void setyear(String user)
	{
		this.year=user;
	}
	public String getmonth()
	{
		return monthTime;
		}
	public void setmonth(String user)
	{
		this.monthTime=user;
	}
	
	public String getday()
	{
		return day;
		}
	public void setday(String user)
	{
		this.day=user;
	} 
	public String getphone()
	{
		return phone;
		}
	public void setphone(String user)
	{
		this.phone=user;
	} 
	public String getpostnum()
	{
		return postnum;
		}
	public void setpostnum(String user)
	{
		this.postnum=user;
	}  
	public String getiden()
	{
		return iden;
		}
	public void setiden(String user)
	{
		this.iden=user;
	}   
	public String getdegree()
	{
		return degree;
		}
	public void setdegree(String user)
	{
		this.degree=user;
	}    
}


package login;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class GoOut
 */
@WebServlet("/GoOut")
public class GoOut extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public GoOut() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.getWriter().append("Served at: ").append(request.getContextPath());
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
		request.getSession().removeAttribute("username");
		response.sendRedirect("index.jsp");
	}

}

package login;

import java.sql.* ;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; 
import javax.servlet.http.HttpSession; 

/**
 * Servlet implementation class Login1
 */
@WebServlet("/Login1") 
public class Login1 extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public Login1() {
        super();//这个是模版里面的,不知道这个是干甚么用的
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		//response.getWriter().append("Served at: ").append(request.getContextPath());
		//搜到的,把这句注释掉解决了乱码问题
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response); 
		request.setCharacterEncoding("UTF-8");
	       response.setCharacterEncoding("UTF-8");  
		  String result = "" ;
		  //获取用户名
		  String username = request.getParameter("username") ;
		  String password= request.getParameter("password") ;  
		  if ((username == "") || (username==null) || (username.length() > 12 ))
		  {
		   try{
		    result = "用户名不能超过12个字符!" ; 
            this.getServletContext().setAttribute( "XiaoXi",result); 
		    //result=(String)this.getServletContext().getAttribute("XiaoXi");
		    response.sendRedirect("index.jsp") ; 
		   }catch(Exception e){
            System.out.println("yhm"); 
		    e.printStackTrace() ;
		    System.exit(0); 
		   } 
		   return;
		  }
		  if ((password== "") || (password==null) || (password.length() > 8 )){
		   try{
 
		    result = "密码不能超过8个字符!" ;
            this.getServletContext().setAttribute( "XiaoXi",result);  
		    response.sendRedirect("index.jsp") ; 
		   // request.getRequestDispatcher("/index.jsp").forward(request,response);;
		   }catch(Exception e)
		   {

			System.out.println("mima"); 
			e.printStackTrace(); 
			System.exit(0); 
		   }  
		   return;
		  }
		  
		    String QuDong_JDriver=this.getServletContext().getInitParameter("QuDong_JDriver");
			try
			{
				Class.forName(QuDong_JDriver);
				
			}catch(ClassNotFoundException e)
			{
				System.out.println("数据库驱动引擎/发动机启动-失败"); 
				e.printStackTrace();
				System.exit(0); 
			}
			System.out.println("数据库驱动引擎/发动机启动-成功");
			try
			{ 
				String YongHu_user=this.getServletContext().getInitParameter("YongHu_user");
				String MiMa_password=this.getServletContext().getInitParameter("MiMa_password");
				String SJKDiZhi_url=this.getServletContext().getInitParameter("SJKDiZhi_url");
				//这里三句也可以直接复制字符串,在这里是去读取配置文件里的对应的值
				System.out.println(SJKDiZhi_url+YongHu_user+MiMa_password);
				Connection LianJie_con=DriverManager.getConnection(SJKDiZhi_url,YongHu_user,MiMa_password); 
				System.out.println("数据库连接成功");
				Statement MingLing_stmt=LianJie_con.createStatement();
				System.out.println("查询");
				System.out.println("开始读取数据");
				ResultSet JieGuoJi_rs=MingLing_stmt.executeQuery("select *from 用户表   where 用户名='"+username+"' and 密码='"+password+"'");
				if(JieGuoJi_rs.next())
				{
				    HttpSession session =  request.getSession();
				    session.setAttribute("username", JieGuoJi_rs.getString("用户编号"));
				    session.setAttribute("password",password);	    
				    System.out.println(JieGuoJi_rs.getString("用户编号")+"\t");	
				}else
				{
		            MingLing_stmt.close();
					LianJie_con.close();
		            this.getServletContext().setAttribute( "XiaoXi","用户名或密码不匹配。");  
				    response.sendRedirect("index.jsp") ; 
				    return;
				}
				MingLing_stmt.close();
				LianJie_con.close();
				System.out.println("读取完毕");
				response.sendRedirect("XueHome.jsp") ;
				
			}catch(SQLException e)
			{
				System.out.println("数据库连接失败");
				e.printStackTrace();
				System.exit(0);
			}
		   
		  } 

}


package login;

import java.io.IOException;
import java.sql.*;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import jianYan.ZhuCe;
import sqlXueChe.MingLing_CMD;

/**
 * Servlet implementation class Personload
 */
@WebServlet("/Personload")
public class Personload extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public Personload() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.getWriter().append("Served at: ").append(request.getContextPath());
		 
		 try
			{

				HttpSession session =  request.getSession(); 
				String numberName=(String)session.getAttribute("username");
				String sqlYuJu="select * from 用户表  where 用户编号=?"; 
			    String QuDong_JDriver=this.getServletContext().getInitParameter("QuDong_JDriver");
				String YongHu_user=this.getServletContext().getInitParameter("YongHu_user");
				String MiMa_password=this.getServletContext().getInitParameter("MiMa_password");
				String SJKDiZhi_url=this.getServletContext().getInitParameter("SJKDiZhi_url");
				MingLing_CMD sql_Datrilla=new MingLing_CMD(QuDong_JDriver,SJKDiZhi_url,YongHu_user,MiMa_password); 
				ResultSet JieGuoJi_rs=sql_Datrilla.ChaKan_select(sqlYuJu,numberName); 
				JieGuoJi_rs.next();//丢 这一句,报错!!
				  System.out.println("信息提取"+JieGuoJi_rs.getString("用户名"));
				    ZhuCe BeanJ=new ZhuCe();  
				    BeanJ.setUsername(JieGuoJi_rs.getString("用户名"));  
					BeanJ.setsex(JieGuoJi_rs.getString("电子邮箱"));
				    BeanJ.setyear(JieGuoJi_rs.getString("出生日期")); 
				    BeanJ.setphone(JieGuoJi_rs.getString("联系电话"));
				    BeanJ.setpostnum(JieGuoJi_rs.getString("备注")); 
				     BeanJ.setdegree(JieGuoJi_rs.getString("专业")); 
				sql_Datrilla.GuanBi_closecon();   
				request.setAttribute("bea",BeanJ);  
				System.out.println("成功提取个人信息");   
				request.getRequestDispatcher("/personalsee.jsp").forward(request, response);
			}catch(Exception err)
			{
				System.out.println("提取个人信息异常");
				err.printStackTrace();
				System.exit(0);
			}
  
			}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		// doGet(request, response);  

	}

}

package login;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; 
import java.util.*;
import java.sql.ResultSet;
import jianYan.ZhuCe; //@Datrilla
import sqlXueChe.MingLing_CMD;//@Datrilla


/**
 * Servlet implementation class Register
 */
@WebServlet("/Register")
public class Register extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public Register() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		//response.getWriter().append("Served at: ").append(request.getContextPath());
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub

		doGet(request, response);
		//request.setCharacterEncoding("UTF-8");
	     //  response.setCharacterEncoding("UTF-8");  
		ZhuCe BeanJ=new ZhuCe();
		try
		{
			 Enumeration<String> me = request.getParameterNames(); 
		while(me.hasMoreElements())
		{
		  String name = (String) me.nextElement();
          String value = request.getParameter(name); 
		  BeanJ.setValue(name, value);
		  }/*
		BeanJ.setUsername(request.getParameter("username")); 
			BeanJ.setPassword(request.getParameter("password"));
			BeanJ.setP1(request.getParameter("p1"));
			BeanJ.setsex(request.getParameter("sex"));
		    BeanJ.setyear(request.getParameter("year"));
		    BeanJ.setmonth(request.getParameter("monthTime"));
		    BeanJ.setday(request.getParameter("day"));
		    BeanJ.setphone(request.getParameter("phone"));
		    BeanJ.setpostnum(request.getParameter("postnum"));
		    BeanJ.setiden(request.getParameter("iden"));
		    BeanJ.setdegree(request.getParameter("degree"));*/
			
		}catch(Exception err)
		{

		    System.out.println("wrong_index2");
		    err.printStackTrace(); 
			System.exit(0); 
			//throw new RuntimeException(err);
		}
		if(BeanJ.validate_ZhuCe()==false)
		{
		    System.out.println("input_error");
		    Map<String,String> error=BeanJ.getErrors(); 
		    request.setAttribute("tips", error);	
            request.getRequestDispatcher("/index2.jsp").forward(request, response);
            return;
		} 
		
		
		
		String sqlpro="{ call 注册用户名验证(?) } ";/*存储过程select查询*/
		String sqlYuJu="insert  into 用户表(用户名,密码,联系电话,电子邮箱 ,备注,专业,出生日期) "+" values('"
		+BeanJ.getUsername()+"','"+BeanJ.getPassword()+"','"+BeanJ.getphone()+"','"+
		BeanJ.getsex()+"','"+BeanJ.getpostnum()+"','"+BeanJ.getdegree()+"','"+BeanJ.getyear()+"')";
		try
		{
            
		    String QuDong_JDriver=this.getServletContext().getInitParameter("QuDong_JDriver");
			String YongHu_user=this.getServletContext().getInitParameter("YongHu_user");
			String MiMa_password=this.getServletContext().getInitParameter("MiMa_password");
			String SJKDiZhi_url=this.getServletContext().getInitParameter("SJKDiZhi_url");
			MingLing_CMD sql_Datrilla=new MingLing_CMD(QuDong_JDriver,SJKDiZhi_url,YongHu_user,MiMa_password);
			 
			ResultSet rs = sql_Datrilla.ChunChu_produce(sqlpro,BeanJ.getUsername());
			rs.next(); 
			if(rs.getLong(1)>=1)
			{
				BeanJ.setOnlyerror("u1", "用户名已存在!");
			    Map<String,String> error=BeanJ.getErrors();  
			    request.setAttribute("tips", error);
			    request.getRequestDispatcher("/index2.jsp").forward(request, response);
			    return ;
			} 
			if(sql_Datrilla.ZengShanGai_insert_delete_update(sqlYuJu))
			{
		        this.getServletContext().setAttribute( "XiaoXi","注册成功"); 
			    //result=(String)this.getServletContext().getAttribute("XiaoXi");
			    response.sendRedirect("index.jsp") ; 
			}
		}catch(Exception err)
		{
			System.out.println("数据库载入异常");
			err.printStackTrace();
			System.exit(0);
		}
		
	}

}

package login;

import java.io.IOException;
import java.sql.ResultSet;
import java.util.Enumeration;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import jianYan.ZhuCe;
import sqlXueChe.MingLing_CMD;

/**
 * Servlet implementation class Updateperson
 */
@WebServlet("/Updateperson")
public class Updateperson extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public Updateperson() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		//response.getWriter().append("Served at: ").append(request.getContextPath());
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
		this.getServletContext().setAttribute( "XiaoXi","");
		ZhuCe BeanJ=new ZhuCe();
		try
		{
			 Enumeration<String> me = request.getParameterNames(); 
		while(me.hasMoreElements())
		{
		  String name = (String) me.nextElement();
          String value = request.getParameter(name); 
		  BeanJ.setValue(name, value);
		}

			
		}catch(Exception err)
		{

		    System.out.println("wrong_index2");
		    err.printStackTrace(); 
			System.exit(0); 
			//throw new RuntimeException(err);
		}
		if(BeanJ.validate_ZhuCe()==false)
		{
		    System.out.println("input_error");
		    Map<String,String> error=BeanJ.getErrors(); 
		    request.setAttribute("tips", error);	
            request.getRequestDispatcher("/personal.jsp").forward(request, response);
            return;
		} 
		  
		String sqlpro="select count(*)from 用户表 where 用户名=? and 用户编号<>? ";/*select查询*/
		String sqlYuJu="update 用户表  set 用户名=?,密码=?,联系电话=?,电子邮箱=? ,备注=?,专业=?,出生日期=? where  用户编号=?";
		try
		{
            
		    String QuDong_JDriver=this.getServletContext().getInitParameter("QuDong_JDriver");
			String YongHu_user=this.getServletContext().getInitParameter("YongHu_user");
			String MiMa_password=this.getServletContext().getInitParameter("MiMa_password");
			String SJKDiZhi_url=this.getServletContext().getInitParameter("SJKDiZhi_url");
			MingLing_CMD sql_Datrilla=new MingLing_CMD(QuDong_JDriver,SJKDiZhi_url,YongHu_user,MiMa_password);

		    HttpSession session =  request.getSession();
		    String numberName=(String)session.getAttribute("username");
			ResultSet rs = sql_Datrilla.ChaKan_select(sqlpro, BeanJ.getUsername(),numberName);
			rs.next(); 
			if(rs.getLong(1)>=1)
			{
				BeanJ.setOnlyerror("u1", "用户名已存在!");
			    Map<String,String> error=BeanJ.getErrors();  
			    request.setAttribute("tips", error);
			    request.getRequestDispatcher("/personal.jsp").forward(request, response);
			    return ;
			} 
			if(sql_Datrilla.ZengShanGai_insert_delete_update(sqlYuJu,
					BeanJ.getUsername(),BeanJ.getPassword(),BeanJ.getphone(),
					BeanJ.getsex(),BeanJ.getpostnum(),BeanJ.getdegree(),BeanJ.getyear(),numberName))
			{
			    request.setAttribute("bea", BeanJ);
		        this.getServletContext().setAttribute( "XiaoXi","修改成功"); 
			    //result=(String)this.getServletContext().getAttribute("XiaoXi");
			     request.getRequestDispatcher("/personalsee.jsp").forward(request, response);
			}
		}catch(Exception err)
		{
			System.out.println("数据库载入异常");
			err.printStackTrace();
			System.exit(0);
		}

		
		
	}

}


package sqlXueChe;
import java.sql.* ;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
/*
 * @Datrilla
 * @date:2015-12-18
 * @DAO(Data Access Object)是一个数据访问接口,数据访问
 * @DBDAO数据库连接池
 * */
public class MingLing_CMD {
	private String QuDong_JDriver=null;
	private Connection LianJie_con=null;
	private String YongHu_user=null;
	private String MiMa_password=null; 
	private String SJKDiZhi_url=null;  
	public  MingLing_CMD()
	{
	}

	public MingLing_CMD(String driver,String db)
	{
		this.QuDong_JDriver=driver; 
		this.SJKDiZhi_url=db;
	}
	public MingLing_CMD(String driver,String db,String user,String psw)
	{
		this.QuDong_JDriver=driver;
		this.YongHu_user=user;
		this.MiMa_password=psw;
		this.SJKDiZhi_url=db;
	}
	/* @SearchBy:Datrilla
	 * @http://blog.sina.com.cn/s/blog_62148d1e0100hkqc.html
	 * 简单的说,如果一个方法中用了throws,那么这个方法会向上抛出一个异常,那么在调用这个方法的时候必须把这个调用放在try...catch块里处理这个异常。
	 * */
	public Connection getCon()throws Exception
	{
		if(LianJie_con==null)
		{ 
			Class.forName(this.QuDong_JDriver);
			if(this.MiMa_password!=null&&this.YongHu_user!=null)
			    this.LianJie_con=DriverManager.getConnection(this.SJKDiZhi_url,this.YongHu_user, this.MiMa_password);
			else
				this.LianJie_con=DriverManager.getConnection(this.SJKDiZhi_url);
		} 
		return this.LianJie_con;
	}
	
	/*  @SearchBy:Datrilla
	 *  @By:BaiDu
	 * 只执行一次的SQL语句选择Statement是最好的.
	 * 相反,多次执行选用PreparedStatement是最好的
	 *  1. ResultSet executeQuery(String sql); 执行SQL查询,并返回ResultSet 对象。
	 *  2.int executeUpdate(String sql); 可执行增,删,改,返回执行受到影响的行数。
	 *  3. boolean execute(String sql); 可执行任何SQL语句,返回一个布尔值,表示是否返回
	 *  */
    public boolean ZengShanGai_insert_delete_update(String sql,Object...args)
    throws Exception
    {
    	PreparedStatement MingLing_stmt=getCon().prepareStatement(sql);
    	for(int i=0;i<args.length;i++) 
    		MingLing_stmt.setObject(i+1, args[i]); 
    	if(MingLing_stmt.executeUpdate()!=1)
    		return false;
    	return true;
    }
    public ResultSet ChaKan_select(String sql,Object...args)
    throws Exception
    {
    	PreparedStatement MingLing_stmt=getCon().prepareStatement(sql);
    	for(int i=0;i<args.length;i++)
    		MingLing_stmt.setObject(i+1, args[i]);
    	return MingLing_stmt.executeQuery();
    } 

    public ResultSet ChunChu_produce(String sql,Object...args)
    throws Exception
    { 
    	 CallableStatement MingLing_stmt=getCon().prepareCall(sql);
    	for(int i=0;i<args.length;i++)
    		MingLing_stmt.setObject(i+1, args[i]);
    	return MingLing_stmt.executeQuery();
    } 
    public void GuanBi_closecon()
    throws Exception
    {
    	if(this.LianJie_con!=null&&!this.LianJie_con.isClosed())
    		this.LianJie_con.close();
    }
}


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
 <%@ page language="java" import="java.util.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
 <meta http-equiv="content-type" content="text/html;charset=UTF-8"/> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
    <meta name="keywords" content="驾照 考试   驾校  driveschool 么么"/> 
    <style type="text/css">
    .bodycenter
    {
       margin-left:300px;
    }
    p
    {
    color:red;
    }
    </style>
   
<title>你考驾照了么</title>
</head>
<body
	style="background-position: top right; background-image: url('images/image3.jpg'); background-repeat: repeat; background-attachment: fixed;">

<div >

 <div>
<!--横幅-->
	 <div style="background-color:#FFF;height:46px;weight:1349px">	
        <div style="backgroud-color:#FFFFFF;height:46px;opacity:1;" >
		<!-- http://www.akuziti.com/ -->
		<span style="weight:50px;height:10px;">
		<img src="images/TiMu_title.png" style="height: 46px; width: 259px;float:left;"></img>
	 </span><p style="weight:10px;margin-top:15px;float:left;"></p>
        </div>
 </div>

 <!--登入-->
   	<div  class="bodycenter">
   	<form id="l1"  method="post">		
   	<table width="623" cellspacing="0" cellpadding="0" border="1" bordercolor="#FFFFFF"
			height="164" style="width: 511px; " >
			<tbody>
				<tr> 
						<td colspan="2" align="center"
							><font color="#FFFFFF">用户登入</font><br/>
							<% 
							String msg =(String) application.getAttribute("XiaoXi");
							 %>
							 	<% 
							   msg=msg==null?(String)request.getAttribute("meg"):msg;
							 %>
						<p>	 <%=(msg==null?"":msg) %></p>
							 
						</td> 
				</tr>
				<tr>
					<td align="right" > <font color="#FFFFFF">用户名:</font></td>
					<td>  
					<input type="text" id="username" name="username" style="width: 154px; ">
					
					</td>
				</tr>
				<tr>
					<td align="right"><font color="#FFFFFF">密 码:</font></td>
					<td> 
					<input type="password" id="password" name="password" style="width: 157px; "></td>
				</tr>
				<tr>
					<td align="right" style="width: 177px;">
					    <input type="submit" value="登入" 
						style="background-image: url('images/image1.jpg');" οnclick="fmesseage()"/>
					</td>
					<td align="center">
					    <input type="submit" value="注册" οnclick="fm()" 
					   style="background-image:url('images/image1.jpg');"></td>
				</tr>
			</tbody>
		</table>
		</form>
		<script>
		 function fm()
		 {
		   var l1=document.getElementById("l1");
		   l1.action="<%=request.getContextPath()%>/index2.jsp";
		   l1.submit();
		 }
		</script>
		
		<script type="text/javascript"> 
    function fmesseage()
   { 
       var use=document.getElementById("username");
       var mima=document.getElementById("password"); 
       var l1=document.getElementById("l1");
    if(use.value==""||use.value==null)
  {
      alert("用户名不能为空");
       use.focus();
           return ;
   } 
       if(mima.value==""||mima.value==null)
  {
      alert("密码无效");
       mima.focus();
       return;
  } 
 
       l1.action="<%=request.getContextPath()%>/Login1";  
       l1.submit();
}


</script>
	 </div>
  </div>
 </div>
</body>
</html>
 <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%> 
 <%@ page language="java" import="jianYan.ZhuCe" contentType="text/html; charset=UTF-8"%>
 <%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
<title>注册页面</title>
<style type="text/css"> 
 .bodycenter
    {
       margin-left:300px;
    }
	*{font-size:12px; margin:0; padding:0;}
          fieldset { 
		  padding:10px; 
		  margin:10px; 
		  width:400px;   
		  color:#333; 
		  border:#FFFFFF solid 1px
		  border-radius:40px;
          -moz-border-radius:40px;}
          legend {color:#06c; font:24px; }
          ul {list-style-type: none; margin:40px auto;}
         
		  #o
		  {
		   float:right;  
		  }
		   p
    {
    color:red;
    }
		  #kk {
		  list-style-type:none;
		  font:23px;
		  }
		  
		  #kk>div /*子选择器使用了  > (子结合符)*/     
		  { 
		  margin-top:2px; 
		  
		  }
		 
		   #kk>div>div    
		  { 
		  font:25;
		  height:26px;
		  }
		  button
		  {
		  height:30px;
		  width:60px;
		  }
		  
	</style>
 </head> 
 <body  style="background-position: top right; background-image: url('images/image3.jpg'); background-repeat: repeat; background-attachment: fixed;" >  
  <div> 
<!--横幅-->
	 <div style="background-color:#FFF;height:46px;weight:1349px">	
        <div style="backgroud-color:#FFFFFF;height:46px;opacity:1;" >
		<!-- http://www.akuziti.com/ -->
		<span style="weight:50px;height:10px;">
		<img src="images/TiMu_title.png" style="height: 46px; width: 259px;float:left;"></img>
	 </span><p style="weight:10px;margin-top:15px;float:left;"></p>
        </div>
 </div>
 
 <div class="bodycenter">
 <form id="l2"  method="post"> 
  <fieldset > 
  <legend>个人信息</legend>  
 <div id="kk">
 <div><div>用户名</div>
     <div> 
 <%--
-- 前提确认不会出现中文乱码;使用EL表达式${}提取存储在request对象中的tips对象中封装的表单数据(tips.p1)以及错误提示消息(tips.u1)
--EL表达式的常用:
--1、从表单提交到另一个页面,使用param( paramValues)例如:
--Request.getParameter(“username”)可写成${param.usernam},${paramValues.hobby[2]}
--2、从隐式对象中获取数据:例如:session.setAttribute(“hello”,”123”);
--Sesson.getAttribute(“hello”);可写成${sessionScope.hello},获取javaBean中的数据,例如session.setAttribute(“user”,user);
--User u=(User)Session.getAttribute(“user”);u.getUserName();
--可为${sessionScope.user.userName}
--当前面没有写隐式对象的时候,例如${ hello},编译器会自动从最小的默认对象开始找,即pageScope、requestScope、sessionScope、applicationScope,找到匹配的显示,没有找到则为null
--EL的默认对象:
--pageScope、requestScope、sessionScope、applicationScope、param、paramValues、header、headerValues、cookie、、
--3、动态赋值:${sessionScope.user[data]},如果data为userSex,则它的值 为${sessionScope.user[“userSex”]}等价于${sessionScope.user.userSex},如果data的值 为userName,则它的值为${sessionScope.user.userName},用.的方式无法动态赋值
--4、若要在页面显示El表达式,在EL表达式的前面加上一个反斜杠,例如:\${1.2+4.5}
 --%>
    <input id="username" name="username" type="text" 
     value="<%if(request.getParameter("username")!=null){out.print(request.getParameter("username"));} %>"></input>${tips.u1}
    </div>
 </div>
 
 <div>
     <div>密码</div>
     <div><input type="password" id="password" type="text" name="password" 
 value="<%if(request.getParameter("password")!=null){out.print(request.getParameter("password"));} %>"></input>${tips.p1}${tips.p2}</div>
 </div>
 
 <div><div>密码确认</div><div><input type="password" id="phonenumber" name="p1" type="text" 
 value="<%if(request.getParameter("p1")!=null){out.print(request.getParameter("p1"));} %>"></input></div>
 </div>
 
 <div> <div>电子邮箱 </div><div><input id="sex" type="text" name="sex" 
  value="<%if(request.getParameter("sex")!=null){out.print(request.getParameter("sex"));} %>"></input></div>
  </div>
 
  <div> <div>出生日期
  <select id="year" name="year" οnchange="changeday()"></select>
 <%String year=request.getParameter("year")!=null?new String(request.getParameter("year")):"1993";%>年
  
  <select id="monthTime" name="monthTime"  οnchange="changeday()"></select>
  <%String monthTime=request.getParameter("monthTime")!=null?new String(request.getParameter("monthTime")):"1";%>月
 
 <select id="day" name="day"></select>
  <%String day=request.getParameter("day")!=null?new String(request.getParameter("day")):"1";%>日${tips.y1} 
  <script type="text/javascript" language="javascript">
                
                //主要代码http://www.ok12.net/html/96.html
                            var curdate = new Date();
                            var year = document.getElementById("year");
                            var month = document.getElementById("monthTime");
                            var day = document.getElementById("day");
                            //绑定年份月分的默认
                            function add()
                           {
                                var curyear = curdate.getFullYear();
                                var minyear = curyear - 80;
                                var maxyear = curyear - 18;
                                 for (maxyear; maxyear >= minyear; maxyear = maxyear - 1) 
                                {//年份
                                    year.options.add(new Option(maxyear, maxyear));
                                }
                                 var thisyear="<%=year%>"; 
                                 year.value=thisyear; 
                                for (var mindex = 1; mindex <= 12; mindex++) 
                                {//月份
                                    month.options.add(new Option(mindex, mindex));
                                }
                                var thismonth="<%=monthTime%>"; 
                                 month.value=thismonth;
                                 changeday();
                            } 
                            //判断是否是闰年
                            function leapyear(intyear)
                            { 
                                return ((intyear % 400 == 0) ||((intyear % 4 == 0) && (intyear % 100 != 0)))?true:false;
                            }
                            //绑定天数
                            function addday(maxday) 
                            {
                                //day.options.length = 1;这句话会增加一句空白选项
                                day.options.length = 0;
                                for (var dindex = 1; dindex <= maxday; dindex++) {
                                    day.options.add(new Option(dindex, dindex));
                                }
                                 var thisday="<%=day%>"; 
                                  thisday=thisday==null||(thisday!=null&&thisday>maxday)?"1":thisday; 
                                 day.value=thisday; 
                            }
                              function changeday() 
                               {
                                if (year.value == null || year.value == "") {
                                    alert("请先选择年份!");
                                    return false;
                                }
                                else {
                                    if (month.value == 1 || month.value == 3 || month.value == 5 || month.value == 7 || month.value == 8 || month.value == 10 || month.value == 12) {
                                        addday(31);
                                    }
                                    else {
                                        if (month.value == 4 || month.value == 6 || month.value == 9 || month.value == 11) {
                                            addday(30);
                                        }
                                        else {
                                            if (leapyear(year.value)) {
                                                addday(29);
                                            }
                                            else {
                                                addday(28);
                                            }
                                        }
                                    }
                                }
                            }
                            window.onload = add;
                        </script>
  
  
  </div>
  </div>
  <div>
<div>  联系电话</div><div><input id="phonenumber" name="phone" type="text" 
value="<%if(request.getParameter("phone")!=null){out.print(request.getParameter("phone"));} %>"></input></div>
 </div>
 
 <div>
  <div>备注</div>
  <div><input id="postnumber" name="postnum" type="text" 
  value="<%if(request.getParameter("postnum")!=null){out.print(request.getParameter("postnum"));} %>"></input></div>
 </div>
 
 <div>
 <div>专业 </div><div><input id="identifyid" name="iden" type="text"
 value="<%if(request.getParameter("iden")!=null){out.print(request.getParameter("iden"));} %>"></input></div>
 </div>
 
 <div>
 <div> 
   学历 <select id="degree" name="degree"  
 > 
 <option>博士</option>
 <option>硕士</option>
 <option>本科</option>
 <option>专科</option>
 <option>高中</option>
 <option>初中</option>
 <option>小学</option>
 <option>幼儿园</option> 
 </select>
 <%String str1=request.getParameter("degree")!=null?new String(request.getParameter("degree")):"博士";%>
 <script type="text/javascript">
  //http://blog.sina.com.cn/s/blog_a5f093b401015b5r.html
  //new String(request.getParameter("degree").getBytes("iso-8859-1"), "utf-8")
  var dec=document.getElementById("degree"); 
 var str="<%=str1%>"; //这里我用String就出不来
 dec.value=str;
  //$("#degree option[text="+dec+"]").attr("selected", true);  
 </script>
 </div>
 </div>
 
 <div>
 <div>
 <button id="ok" type="submit" οnclick="subok22()" style="background-image:url('images/image1.jpg');" >注册
 </button>
  <button id="o" type="submit" οnclick="su22()" style="background-image:url('images/image1.jpg');">返回</button> 
  </div>
  </div>
  
  </div> 
</fieldset> 
  </form>
  </div>  
  <script type="text/javascript">
  <!--
     function su22()
	 {
 	   l2.action="<%=request.getContextPath()%>/index.jsp";  
	       l2.submit();
	 }
  -->
  </script>
  <script type="text/javascript">
  <!--
     function subok22()
	 {
	  var use=document.getElementById("username");
      var mima=document.getElementById("password"); 
	  var l2=document.getElementById("l2");
	    if(use.value==""||use.value==null)
	  {
	      alert("用户名不能为空");
	       thisdiv.username.focus();
	           return ;
	   } 
	       if(mima.value==""||mima.value==null)
	  {
	      alert("密码无效");
	       thisdiv.password.focus();
	       return;
	  } 
	       l2.action="<%=request.getContextPath()%>/Register";  
	       l2.submit();
	 }
  -->
  </script>
  </div>

</body>
</html>

  <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%> 
 <%@ page language="java" import="jianYan.ZhuCe" contentType="text/html; charset=UTF-8"%>
 <%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
<title>注册页面</title>
<style type="text/css"> 
 .bodycenter
    {
       margin-left:300px;
    }
	*{font-size:12px; margin:0; padding:0;}
          fieldset { 
		  padding:10px; 
		  margin:10px; 
		  width:400px;   
		  color:#333; 
		  border:#FFFFFF solid 1px
		  border-radius:40px;
          -moz-border-radius:40px;}
          legend {color:#06c; font:24px; }
          ul {list-style-type: none; margin:40px auto;}
         
		  #o
		  {
		   float:right;  
		  }
		   p
    {
    color:red;
    }
		  #kk {
		  list-style-type:none;
		  font:23px;
		  }
		  
		  #kk>div /*子选择器使用了  > (子结合符)*/     
		  { 
		  margin-top:2px; 
		  
		  }
		 
		   #kk>div>div    
		  { 
		  font:25;
		  height:26px;
		  }
		  button
		  {
		  height:30px;
		  width:60px;
		  }
		  
	</style>
 </head> 
 <body  style="background-position: top right; background-image: url('images/image3.jpg'); background-repeat: repeat; background-attachment: fixed;" >  
  <div> 
 
 <div class="bodycenter">
 <form id="l2"  method="post"> 
  <fieldset > 
  <legend>个人信息</legend>  
 <div id="kk">
 <div><div>用户名</div>
     <div> 
 <%--
-- 前提确认不会出现中文乱码;使用EL表达式${}提取存储在request对象中的tips对象中封装的表单数据(tips.p1)以及错误提示消息(tips.u1)
--EL表达式的常用:
--1、从表单提交到另一个页面,使用param( paramValues)例如:
--Request.getParameter(“username”)可写成${param.usernam},${paramValues.hobby[2]}
--2、从隐式对象中获取数据:例如:session.setAttribute(“hello”,”123”);
--Sesson.getAttribute(“hello”);可写成${sessionScope.hello},获取javaBean中的数据,例如session.setAttribute(“user”,user);
--User u=(User)Session.getAttribute(“user”);u.getUserName();
--可为${sessionScope.user.userName}
--当前面没有写隐式对象的时候,例如${ hello},编译器会自动从最小的默认对象开始找,即pageScope、requestScope、sessionScope、applicationScope,找到匹配的显示,没有找到则为null
--EL的默认对象:
--pageScope、requestScope、sessionScope、applicationScope、param、paramValues、header、headerValues、cookie、、
--3、动态赋值:${sessionScope.user[data]},如果data为userSex,则它的值 为${sessionScope.user[“userSex”]}等价于${sessionScope.user.userSex},如果data的值 为userName,则它的值为${sessionScope.user.userName},用.的方式无法动态赋值
--4、若要在页面显示El表达式,在EL表达式的前面加上一个反斜杠,例如:\${1.2+4.5}
 --%>
    <input id="username" name="username" type="text" 
     value="<%if(request.getParameter("username")!=null){out.print(request.getParameter("username"));} %>"></input>${tips.u1}
    </div>
 </div>
 
 <div>
     <div>密码</div>
     <div><input type="password" id="password" type="text" name="password" 
 value="<%if(request.getParameter("password")!=null){out.print(request.getParameter("password"));} %>"></input>${tips.p1}${tips.p2}</div>
 </div>
 
 <div><div>密码确认</div><div><input type="password" id="phonenumber" name="p1" type="text" 
 value="<%if(request.getParameter("p1")!=null){out.print(request.getParameter("p1"));} %>"></input></div>
 </div>
 
 <div> <div>电子邮箱 </div><div><input id="sex" type="text" name="sex" 
  value="<%if(request.getParameter("sex")!=null){out.print(request.getParameter("sex"));} %>"></input></div>
  </div>
 
  <div> <div>出生日期
  <select id="year" name="year" οnchange="changeday()"></select>
 <%String year=request.getParameter("year")!=null?new String(request.getParameter("year")):"1993";%>年
  
  <select id="monthTime" name="monthTime"  οnchange="changeday()"></select>
  <%String monthTime=request.getParameter("monthTime")!=null?new String(request.getParameter("monthTime")):"1";%>月
 
 <select id="day" name="day"></select>
  <%String day=request.getParameter("day")!=null?new String(request.getParameter("day")):"1";%>日${tips.y1} 
  <script type="text/javascript" language="javascript">
                
                //主要代码http://www.ok12.net/html/96.html
                            var curdate = new Date();
                            var year = document.getElementById("year");
                            var month = document.getElementById("monthTime");
                            var day = document.getElementById("day");
                            //绑定年份月分的默认
                            function add()
                           {
                                var curyear = curdate.getFullYear();
                                var minyear = curyear - 80;
                                var maxyear = curyear - 18;
                                 for (maxyear; maxyear >= minyear; maxyear = maxyear - 1) 
                                {//年份
                                    year.options.add(new Option(maxyear, maxyear));
                                }
                                 var thisyear="<%=year%>"; 
                                 year.value=thisyear; 
                                for (var mindex = 1; mindex <= 12; mindex++) 
                                {//月份
                                    month.options.add(new Option(mindex, mindex));
                                }
                                var thismonth="<%=monthTime%>"; 
                                 month.value=thismonth;
                                 changeday();
                            } 
                            //判断是否是闰年
                            function leapyear(intyear)
                            { 
                                return ((intyear % 400 == 0) ||((intyear % 4 == 0) && (intyear % 100 != 0)))?true:false;
                            }
                            //绑定天数
                            function addday(maxday) 
                            {
                                //day.options.length = 1;这句话会增加一句空白选项
                                day.options.length = 0;
                                for (var dindex = 1; dindex <= maxday; dindex++) {
                                    day.options.add(new Option(dindex, dindex));
                                }
                                 var thisday="<%=day%>"; 
                                  thisday=thisday==null||(thisday!=null&&thisday>maxday)?"1":thisday; 
                                 day.value=thisday; 
                            }
                              function changeday() 
                               {
                                if (year.value == null || year.value == "") {
                                    alert("请先选择年份!");
                                    return false;
                                }
                                else {
                                    if (month.value == 1 || month.value == 3 || month.value == 5 || month.value == 7 || month.value == 8 || month.value == 10 || month.value == 12) {
                                        addday(31);
                                    }
                                    else {
                                        if (month.value == 4 || month.value == 6 || month.value == 9 || month.value == 11) {
                                            addday(30);
                                        }
                                        else {
                                            if (leapyear(year.value)) {
                                                addday(29);
                                            }
                                            else {
                                                addday(28);
                                            }
                                        }
                                    }
                                }
                            }
                            window.onload = add;
                        </script>
  
  
  </div>
  </div>
  <div>
<div>  联系电话</div><div><input id="phonenumber" name="phone" type="text" 
value="<%if(request.getParameter("phone")!=null){out.print(request.getParameter("phone"));} %>"></input></div>
 </div>
 
 <div>
  <div>备注</div>
  <div><input id="postnumber" name="postnum" type="text" 
  value="<%if(request.getParameter("postnum")!=null){out.print(request.getParameter("postnum"));} %>"></input></div>
 </div>
 
 <div>
 <div>专业 </div><div><input id="identifyid" name="iden" type="text"
 value="<%if(request.getParameter("iden")!=null){out.print(request.getParameter("iden"));} %>"></input></div>
 </div>
 
 <div>
 <div> 
   学历 <select id="degree" name="degree"  
 > 
 <option>博士</option>
 <option>硕士</option>
 <option>本科</option>
 <option>专科</option>
 <option>高中</option>
 <option>初中</option>
 <option>小学</option>
 <option>幼儿园</option> 
 </select>
 <%String str1=request.getParameter("degree")!=null?new String(request.getParameter("degree")):"博士";%>
 <script type="text/javascript">
  //http://blog.sina.com.cn/s/blog_a5f093b401015b5r.html
  //new String(request.getParameter("degree").getBytes("iso-8859-1"), "utf-8")
  var dec=document.getElementById("degree"); 
 var str="<%=str1%>"; //这里我用String就出不来
 dec.value=str;
  //$("#degree option[text="+dec+"]").attr("selected", true);  
 </script>
 </div>
 </div>
 
 <div>
 <div>
 <button id="ok" type="submit" οnclick="subok22()" style="background-image:url('images/image1.jpg');" >确认修改
 </button>
  <button id="o" type="submit" οnclick="su22()" style="background-image:url('images/image1.jpg');">返回</button> 
  </div>
  </div>
  
  </div> 
</fieldset> 
  </form>
  </div>  
  <script type="text/javascript">
  <!--
     function su22()
	 {
 	   l2.action="<%=request.getContextPath()%>/personalsee.jsp";  
	       l2.submit();
	 }
  -->
  </script>
  <script type="text/javascript">
  <!--
     function subok22()
	 {
	  var use=document.getElementById("username");
      var mima=document.getElementById("password"); 
	  var l2=document.getElementById("l2");
	    if(use.value==""||use.value==null)
	  {
	      alert("用户名不能为空");
	       thisdiv.username.focus();
	           return ;
	   } 
	       if(mima.value==""||mima.value==null)
	  {
	      alert("密码无效");
	       thisdiv.password.focus();
	       return;
	  } 
	       l2.action="<%=request.getContextPath()%>/Updateperson";  
	       l2.submit();
	 }
  -->
  </script>
  </div>

</body>
</html>

 <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%> 
 <%@ page language="java" import="jianYan.ZhuCe" contentType="text/html; charset=UTF-8"%>
 <%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
<title>注册页面</title>
<style type="text/css"> 
 .bodycenter
    {
       margin-left:300px;
    }
	*{font-size:12px; margin:0; padding:0;}
          fieldset { 
		  padding:10px; 
		  margin:10px; 
		  width:400px;   
		  color:#333; 
		  border:#FFFFFF solid 1px
		  border-radius:40px;
          -moz-border-radius:40px;}
          legend {color:#06c; font:24px; }
          ul {list-style-type: none; margin:40px auto;}
         
		  #o
		  {
		   float:right;  
		  }
		   p
    {
    color:red;
    }
		  #kk {
		  list-style-type:none;
		  font:23px;
		  }
		  
		  #kk>div /*子选择器使用了  > (子结合符)*/     
		  { 
		  margin-top:2px; 
		  
		  }
		 
		   #kk>div>div    
		  { 
		  font:25;
		  height:26px;
		  }
		  button
		  {
		  height:30px;
		  width:60px;
		  }
		  
	</style>
 </head> 
 <body  style="background-position: top right; background-image: url('images/image3.jpg'); background-repeat: repeat; background-attachment: fixed;" >  
  <div>  
 
 <div class="bodycenter"> 
  <fieldset > 
  <legend>个人信息</legend>  
 <div id="kk">
 <form id="per" method="post"  >
 <div>用户名:  ${bea.username}</div>
 <%--
-- 前提确认不会出现中文乱码;使用EL表达式${}提取存储在request对象中的tips对象中封装的表单数据(tips.p1)以及错误提示消息(tips.u1)
--EL表达式的常用:
--1、从表单提交到另一个页面,使用param( paramValues)例如:
--Request.getParameter(“username”)可写成${param.usernam},${paramValues.hobby[2]}
--2、从隐式对象中获取数据:例如:session.setAttribute(“hello”,”123”);
--Sesson.getAttribute(“hello”);可写成${sessionScope.hello},获取javaBean中的数据,例如session.setAttribute(“user”,user);
--User u=(User)Session.getAttribute(“user”);u.getUserName();
--可为${sessionScope.user.userName}
--当前面没有写隐式对象的时候,例如${ hello},编译器会自动从最小的默认对象开始找,即pageScope、requestScope、sessionScope、applicationScope,找到匹配的显示,没有找到则为null
--EL的默认对象:
--pageScope、requestScope、sessionScope、applicationScope、param、paramValues、header、headerValues、cookie、、
--3、动态赋值:${sessionScope.user[data]},如果data为userSex,则它的值 为${sessionScope.user[“userSex”]}等价于${sessionScope.user.userSex},如果data的值 为userName,则它的值为${sessionScope.user.userName},用.的方式无法动态赋值
--4、若要在页面显示El表达式,在EL表达式的前面加上一个反斜杠,例如:\${1.2+4.5}
 --%>
  <div>电子邮箱:${bea.sex}</div>
  <div>出生日期:${bea.year}</div>
<div>  联系电话:${bea.phone}</div> 
  <div>备注:${bea.postnum}</div> 
 <div> 学历 :${bea.degree}</div>
   </form>
 <div>
 <button id="xiug" type="submit" οnclick="xiug()" style="background-image:url('images/image1.jpg');" >修改信息
 </button> 
  </div>
  </div>
  </fieldset>  
  </div>   
 
  <script type="text/javascript">
  <!--
     function xiug()
	 { 
	     
	  window.location.href="personal.jsp";
	 }
  -->
  </script>
  </div>

</body>
</html>

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title><style type="text/css">
    .bodycenter
    {
       margin:20px auto auto auto;
    }
    .guide-bar
    {
    font-size:18px;
    font-weight:normal; 
    height:46px;
    display:block;
    color:#706f6f;
    padding:0 5px;
    float:left;
    position:relative;
    margin:19px 12px 0 0;
    line-heigth:46px;
    border-radius:6px;
    }
    a {
    text-decoration:none;
    color:#0F0110;
    }   
    a:hover
    {
     color:#FFC0CB; 
    }
    a.active
    {
    color:#FFC0C9;
    cursor:wait;
    } 
    button
		  {
		  height:30px; 
		  }
		  .youbian
		  {
		  float:right;
		  }
    </style>
</head>
<body   
	style="background-position: top right; background-image: url('images/image3.jpg'); background-repeat: repeat; background-attachment: fixed;">

 
<div >
 <div>  
<!--横幅-->
	 <div style="background-color:#FFF;height:46px;weight:1349px">	
        <div style="backgroud-color:#FFFFFF;height:46px;opacity:1;" >
		<!-- http://www.akuziti.com/ -->
		<span style="weight:50px;height:10px;">
		<img src="images/TiMu_title.png" style="height: 46px; width: 259px;float:left;"></img>
	 </span>
	 <p style="weight:10px;margin-top:15px;float:left;"> </p>
	 <div style="weight:10px" >
	  <div  class="guide-bar"> 
	  <a  href="dsmesseage.jsp" target="changekuang">驾校信息</a>|
	  <a href="load01" target="changekuang">个人信息</a>|
	  <a  href="dsmesseage.jsp" target="changekuang">知识要点</a>|
	  <a  href="wordtest.jsp" target="changekuang">文字模式</a>|
	  <a  href="graphy.jsp" target="changekuang">图片模式</a> 
	  </div>
	 </div>
	 <form id="hh" method="post" ></form>
	 <div><button class="youbian" οnclick="outuser()" style="background-image:url('images/image1.jpg');">退出系统</button></div>
	 
	 <script type="text/javascript">
	 <!--
	 
	function outuser()
	 { 
		var hh=document.getElementById("hh");
		hh.action="<%=request.getContextPath()%>/GoOut";  
	    hh.submit();
	 }
	 -->
	 
	 </script>
        </div>
 </div>
 <!--框架-->
   	<div class="bodycenter">  
           <iframe name="changekuang"  style="display" src="dsmesseage.jsp" marginheight="0" marginwidth="0" frameborder="1" scrolling="no" width="1000px" height="1260px" >  
	   #document
	 
	   </iframe> 
	 </div>
  </div>
 </div>
 <script> 
 
 </script>
</body>
</html>



配置文件


java Dynamic Web Project +  SQL

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>XueChe</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>
  
 
  
  
    
  <!--中文乱码统一处理器-->
  <filter>
    <filter-name>jianYan2</filter-name>
    <filter-class>jianYan.CharacterEncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>UTF-8</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>jianYan2</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  
  
  
  <!--是否登入校验器-->
  <filter>
    <filter-name>jianYan</filter-name>
    <filter-class>jianYan.JiaoYanQi</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>jianYan</filter-name>
    <url-pattern>/dsmesseage.jsp</url-pattern>
    <url-pattern>/graphy.jsp</url-pattern>
    <url-pattern>/personal.jsp</url-pattern>
    <url-pattern>/personalsee.jsp</url-pattern>
    <url-pattern>/XueHome.jsp</url-pattern>
    <url-pattern>/wordtest.jsp</url-pattern>
  </filter-mapping>
  
     
  <!--个人信息是否已经获取检验器-->
  <filter>
    <filter-name>person</filter-name>
    <filter-class>jianYan.Person</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>person</filter-name>
    <url-pattern>/personload.*</url-pattern> 
  </filter-mapping>
   <!--全局变量-->
  <context-param>
    <param-name>XinXi</param-name>
    <param-value></param-value>
  </context-param>
  <context-param>
    <param-name>XiaoXi</param-name>
    <param-value></param-value>
  </context-param>
  <context-param>
    <param-name>QuDong_JDriver</param-name>
    <param-value>com.microsoft.sqlserver.jdbc.SQLServerDriver</param-value>
  </context-param>
  <context-param>
    <param-name>SJKDiZhi_url</param-name>
    <param-value>jdbc:sqlserver://127.0.0.1:1433;DatabaseName=database20152</param-value>
  </context-param>
  <context-param>
    <param-name>YongHu_user</param-name>
    <param-value>sqluser一</param-value>
  </context-param>
  <context-param>
    <param-name>MiMa_password</param-name>
    <param-value>sqltest123</param-value>
  </context-param>
  
  <!--提取个人信息servlet-->
  <servlet>
    <servlet-name>load11</servlet-name>
    <servlet-class>login.Personload</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>load11</servlet-name>
    <url-pattern>/load01</url-pattern>
  </servlet-mapping>
  
  
  <!--更新个人信息servlet--> 
  <servlet>
    <servlet-name>pda</servlet-name>
    <servlet-class>login.Updateperson</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>pda</servlet-name>
    <url-pattern>/tpp</url-pattern>
  </servlet-mapping>
  
   <!--退出servlet-->
  <servlet>
    <servlet-name>tuichu</servlet-name>
    <servlet-class>login.GoOut</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>tuichu</servlet-name>
    <url-pattern>/ttt</url-pattern>
  </servlet-mapping>
  
   <!--注册servlet-->
  <servlet>
    <servlet-name>login22</servlet-name>
    <servlet-class>login.Register</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>login22</servlet-name>
    <url-pattern>/Fuwu2</url-pattern>
  </servlet-mapping>
  
    <!--主页登入servlet-->
  <servlet>
    <servlet-name>login</servlet-name>
    <servlet-class>login.Login1</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>login</servlet-name>
    <url-pattern>/Fuwu1</url-pattern>
  </servlet-mapping>
</web-app>

其实两个配置文件的区别就在那个全局变量的数据库字符串那边

java Dynamic Web Project +  MYSQL


<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>XueChe</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>
  
  
  
  <!--中文乱码统一处理器-->
  <filter>
    <filter-name>jianYan2</filter-name>
    <filter-class>jianYan.CharacterEncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>UTF-8</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>jianYan2</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  
  <!--是否登入校验器-->
  <filter>
    <filter-name>jianYan</filter-name>
    <filter-class>jianYan.JiaoYanQi</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>jianYan</filter-name>
    <url-pattern>/dsmesseage.jsp</url-pattern>
    <url-pattern>/graphy.jsp</url-pattern>
    <url-pattern>/personal.jsp</url-pattern>
    <url-pattern>/personalsee.jsp</url-pattern>
    <url-pattern>/XueHome.jsp</url-pattern>
    <url-pattern>/wordtest.jsp</url-pattern>
  </filter-mapping>
  
  
  <!--个人信息是否已经获取检验器-->
  <filter>
    <filter-name>person</filter-name>
    <filter-class>jianYan.Person</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>person</filter-name>
    <url-pattern>/personload.*</url-pattern> 
  </filter-mapping>
  
  
  
  <!--全局变量-->
  <context-param>
    <param-name>XinXi</param-name>
    <param-value></param-value>
  </context-param>
  <context-param>
    <param-name>XiaoXi</param-name>
    <param-value></param-value>
  </context-param>
  <context-param>
    <param-name>QuDong_JDriver</param-name>
    <param-value>com.mysql.jdbc.Driver</param-value>
  </context-param>
  <context-param>
  <param-name>SJKDiZhi_url</param-name>
<param-value>jdbc:mysql://localhost:3306/database20152</param-value>
</context-param>
<context-param>
<param-name>YongHu_user</param-name>
<param-value>sqluser1</param-value>
</context-param>
<context-param>
<param-name>MiMa_password</param-name>
<param-value>sqltest123</param-value>
</context-param>

<!--提取个人信息servlet-->
   <servlet>
    <servlet-name>load11</servlet-name>
    <servlet-class>login.Personload</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>load11</servlet-name>
    <url-pattern>/load01</url-pattern>
  </servlet-mapping>
 
  <!--更新个人信息servlet-->
  <servlet>
    <servlet-name>pda</servlet-name>
    <servlet-class>login.Updateperson</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>pda</servlet-name>
    <url-pattern>/tpp</url-pattern>
  </servlet-mapping> 
 
  <!--退出servlet-->
  <servlet>
    <servlet-name>tuichu</servlet-name>
    <servlet-class>login.GoOut</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>tuichu</servlet-name>
    <url-pattern>/ttt</url-pattern>
  </servlet-mapping>
  <servlet>
  
  <!--注册servlet-->
    <servlet-name>login22</servlet-name>
    <servlet-class>login.Register</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>login22</servlet-name>
    <url-pattern>/Fuwu2</url-pattern>
  </servlet-mapping>
  
  <!--主页登入servlet-->
  <servlet>
    <servlet-name>login</servlet-name>
    <servlet-class>login.Login1</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>login</servlet-name>
    <url-pattern>/Fuwu1</url-pattern>
  </servlet-mapping>
</web-app>


  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值