Servlet实现增删改查功能 +jsp登录页面
MVC模式➢M:Model,即模型,对于JavaBean➢V:View,即试图,对应JSP页面➢C:Controller,即控制器,对应Servlet1.以下为MVC实现一个简单的增删改查功能1>显示记录2>增加一条记录3>修改一条记录4>删除一条记录2.简单的登录界面及jsp对数据库的操作1>登录界面2>注册界面程序源代码:M层:模型层package MVC;public class JavaBean {private int id;private String name;private String password;private String sex;private int age;public JavaBean() {super();// TODO Auto-generated constructor stub}public JavaBean(int id, String name, String password, String sex, int age) {this.id = id; = name;this.password = password;this.sex = sex;this.age = age;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) { = name;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}封装数据库连接以及操作JavaBean所用到的方法,SqlBean.java文件即DAOpackage MVC;//封装数据库连接以及操作JavaBean所用到的方法,即DAOimport java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;//import java.util.List;public class SqlBean {/***操作数据库的方法*/// 定义数据库驱动程序String DBDRIVER = "com.mysql.jdbc.Driver" ;// 定义数据库连接对象,属于java.sql包中的接口Connection con=null;//定义PreapredStatement对象,用于操作数据库PreparedStatement pre=null;// 查询返回的结果集对象ResultSet rs=null;public SqlBean(){try {// 1、加载驱动程序Class.forName(DBDRIVER);} catch (ClassNotFoundException e) {e.printStackTrace();}try {// 2、数据库连接地址con=DriverManager.getConnection("jdbc:mysql://localhost:3306/zxds tudent","root","");} catch (SQLException e) {e.printStackTrace();}}/*** @author help**插入新的一条记录* @return*/public int getInsert(String sql,JavaBean jBean){int count =0;try {pre = con.prepareStatement(sql);pre.setString(1,jBean.getName());pre.setString(2,jBean.getPassword());pre.setString(3,jBean.getSex());pre.setInt(4,jBean.getAge());count=pre.executeUpdate();} catch (SQLException e) {e.printStackTrace();}finally{try {//关闭数据库pre.close();//关闭操作con.close();//关闭连接} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}return count;}/*** @author help**删除一条记录* @return*/public int getDelete(String sql,int id){int count =0;try {pre = con.prepareStatement(sql);pre.setInt(1, id);count=pre.executeUpdate();} catch (SQLException e) {e.printStackTrace();}finally{try {pre.close();con.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}return count;}/*** @author help**根据ID查询某一条记录* @return*/public JavaBean getSearchById(String sql,int id) {JavaBean jBean = new JavaBean();try {pre = con.prepareStatement(sql);pre.setInt(1, id);rs=pre.executeQuery();while(rs.next()){jBean.setId(rs.getInt("id"));jBean.setName(rs.getString("name"));jBean.setPassword(rs.getString("password"));jBean.setSex(rs.getString("sex"));jBean.setAge(rs.getInt("age"));}} catch (SQLException e){e.printStackTrace();}return jBean;}/*** @author help**更新某一条记录* @return*/public int getUpdate(String sql,JavaBean jBean){int count =0;try {pre = con.prepareStatement(sql);pre.setInt(5,jBean.getId());pre.setString(1,jBean.getName());pre.setString(2,jBean.getPassword());pre.setString(3,jBean.getSex());pre.setInt(4,jBean.getAge());count = pre.executeUpdate();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{try {pre.close();con.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}return count;}/*** @author help**显示所有记录* @return*/public ArrayList<JavaBean> getSearch(String sql){ArrayList<JavaBean> list = new ArrayList<JavaBean>();try {pre = con.prepareStatement(sql);rs =pre.executeQuery();while(rs.next()){JavaBean jBean =new JavaBean();jBean.setId(rs.getInt("id"));jBean.setName(rs.getString("name"));jBean.setPassword(rs.getString("password"));jBean.setSex(rs.getString("sex"));jBean.setAge(rs.getInt("age"));list.add(jBean);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{try {pre.close();con.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}return list;}}V层:试图层显示记录集的页面 SearchList.jsp<%@page language="java"import="java.util.*"pageEncoding="UTF-8"%> <%@page import="MVC.SqlBean"%><%@page import="MVC.JavaBean"%><%@page import="java.util.Iterator;"%><%String path = request.getContextPath();String basePath =request.getScheme()+"://"+request.getServerName()+":"+request.getServ erPort()+path+"/";%><!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type"content="text/html; charset=UTF-8"> <title>显示记录</title></head><body><form name="form"action="Insert.jsp"method="post"><center><font color=red size=72>学生信息如下:</font><br><br><br><hr><table border=1bgColor="#ffffff"width="500px"height="100px"><tr><td>ID</td><td>姓名</td><td>密码</td><td>性别</td><td>年龄</td><td><center>操作</center></td></tr><%--<jsp:useBean id="sBean"class="MVC.SqlBean"/><jsp:useBean id="jBean" class="MVC.JavaBean"/>--%><%String sql ="select * from login ";SqlBean sBean = new SqlBean();JavaBean jBean=new JavaBean();ArrayList<JavaBean> list =sBean.getSearch(sql);/*for(JavaBean bean:list){*/for(ListIterator<JavaBean> it =list.listIterator();it.hasNext();) {//获取一个JavaBean对象//jBean =(MVC.JavaBean)it.next();jBean =(JavaBean)it.next();%><tr><td><%=jBean.getId() %></td><td><%=jBean.getName() %></td><td><%=jBean.getPassword() %></td><td><%=jBean.getSex() %></td><td><%=jBean.getAge() %></td><td><a href="Search?id=<%=jBean.getId() %>">查询</a><a href="Delete?id=<%=jBean.getId()%>">删除</a><a href="SearchById?id=<%=jBean.getId()%>">更新</a></td></tr><%}%></table><br><input type="submit"value="增加"><br><br><a href="login.jsp">返回登录页面</a></center></form></body></html>插入页面Insert.jsp<%@page language="java"import="java.util.*"pageEncoding="UTF-8"%> <%String path = request.getContextPath();String basePath =request.getScheme()+"://"+request.getServerName()+":"+request.getServ erPort()+path+"/";%><!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type"content="text/html; charset=UTF-8"> <title>插入新值</title></head><body><center><font color=red size=72>学生管理页面</font><hr><form action="Inserts"method="post"><table border="1"><tr><td>姓名:</td><td><input name ="name"></td></tr><tr><td>密码:</td><td><input type="password"name ="password"></td></tr><tr><td>性别:</td><td><input type="radio"name ="sex"value="男">男<input type="radio"name ="sex"value="女">女</td></tr><tr><td>年龄:</td><td><input type="text"name ="age"></td></tr><tr><td colspan="2"><center><input type="submit"value="提交"><input type="reset"value="重置"></center></td></tr></table></form><a href="SearchList.jsp">查询</a></center></body></html>更新页面Update.jsp<%@page language="java"import="java.util.*"pageEncoding="UTF-8"%> <%String path = request.getContextPath();String basePath =request.getScheme()+"://"+request.getServerName()+":"+request.getServ erPort()+path+"/";%><!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type"content="text/html; charset=UTF-8"><title>更新</title></head><body><center><font color=red size=72>学生管理页面</font><hr><form action="Update"method="post""><table border="1"><tr><td>学生ID:</td><td><input name="id"value="<%=request.getAttribute("id") %>" readonly></td></tr><tr><td>学生姓名:</td><td><input name="name"value="<%=request.getAttribute("name") %>"></td></tr><tr><td>学生密码:</td><td><input type="password"name="password"value="<%=request.getAttribute("password") %>"></td></tr><tr><td>学生性别:</td><td><input type="radio"name ="sex"value="男"<%=request.getAttribute("man") %>>男<input type="radio"name ="sex"value="女"<%=request.getAttribute("woman") %>>女</td></tr><tr><td>学生年龄:</td><td><input type="text"name="age"value="<%=request.getAttribute("age") %>"></td></tr><tr><td colspan="2"><center><input type="submit"value="提交"><input type="reset"value="重置"></center></td></tr></table></form><a href="SearchList.jsp">返回主页面</a></center></body></html查询页面Search.jsp<%@page language="java"import="java.util.*"pageEncoding="UTF-8"%> <%@page import="MVC.SqlBean"%><%@page import="MVC.JavaBean"%><%@page import="java.util.Iterator;"%><%String path = request.getContextPath();String basePath =request.getScheme()+"://"+request.getServerName()+":"+request.getServ erPort()+path+"/";%><!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type"content="text/html; charset=UTF-8"> <title>显示记录</title></head><body><form name="form"action="Insert.jsp"method="post"><center><font color=red size=72>学生信息如下:</font><br><br>学生 ID:<%=request.getAttribute("id") %><br>学生姓名:<%=request.getAttribute("name") %><br>学生密码:<%=request.getAttribute("password") %><br>学生性别:<%if( request.getAttribute("man").equals("男")){%><%=request.getAttribute("man") %><%}else{%><%=request.getAttribute("woman")%><%}%><br>学生年龄:<%=request.getAttribute("age") %><br><br><a href="SearchList.jsp">返回主页面</a></center></form></body></html>出错页面Error.jsp<%@page language="java"import="java.util.*"pageEncoding="UTF-8"%> <%String path = request.getContextPath();String basePath =request.getScheme()+"://"+request.getServerName()+":"+request.getServ erPort()+path+"/";%><!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type"content="text/html; charset=UTF-8"><title>出错啦</title></head><body>对不起!您<%=request.getAttribute("error") %>失败</body></html>C层:控制层—Servlet1.显示记录集的Servlet----SearchById.javapackage MVC;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import MVC.JavaBean;import MVC.SqlBean;public class SearchById extends HttpServlet {private static final long serialVersionUID = 1L;public void doDelete(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {// Put your code here}public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doPost(request,response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");//获取用户IDString sid = request.getParameter("id");int id =Integer.parseInt(sid);String sql ="select * from login where id=?";SqlBean sBean = new SqlBean();JavaBean jBean = sBean.getSearchById(sql, id);//用户IDrequest.setAttribute("id",jBean.getId());//用户姓名request.setAttribute("name",jBean.getName());//用户密码request.setAttribute("password",jBean.getPassword());//用户性别String sex="";String man="";String woman="";if(jBean.getSex()!=null){sex=jBean.getSex().trim();if(sex.equals("男")){man ="checked";}else{woman ="checked";}}request.setAttribute("man",man);request.setAttribute("woman",woman);//用户年龄request.setAttribute("age",jBean.getAge());//转发request.getRequestDispatcher("Update.jsp").forward(request, response);}}2.增加记录的Servlet----Insert.javapackage MVC;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import MVC.SqlBean;import MVC.JavaBean;public class Inserts extends HttpServlet {/****/private static final long serialVersionUID = 1L;public void doDelete(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {// Put your code here}public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");doPost(request,response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");//获取前台页面数据String name =request.getParameter("name");String password =request.getParameter("password");String sex =request.getParameter("sex");String sage = request.getParameter("age");int age =Integer.parseInt(sage);//封装到JavaBean对象中去JavaBean jBean = new JavaBean();jBean.setName(name);jBean.setPassword(password);jBean.setSex(sex);jBean.setAge(age);//调用模型层String sql = "insert into login(name,password,sex,age)values(?,?,?,?)";SqlBean sBean = new SqlBean();int count =sBean.getInsert(sql,jBean);String url="";if(count>0){url="SearchList.jsp";}else{url ="error.jsp";request.setAttribute("error", "插入");}//转发תrequest.getRequestDispatcher(url).forward(request, response);}}3.更新记录的Servlet----Updated.javapackage MVC;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import MVC.JavaBean;import MVC.SqlBean;public class Update extends HttpServlet {/****/private static final long serialVersionUID = 1L;public void doDelete(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {// Put your code here}public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doPost(request,response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");//获得前台表单信息String sid = request.getParameter("id");int id =Integer.parseInt(sid);String name =request.getParameter("name");String password =request.getParameter("password");String sex =request.getParameter("sex");String sage = request.getParameter("age");int age =Integer.parseInt(sage);//封装到JavaBean对象中去JavaBean jBean = new JavaBean();jBean.setId(id);jBean.setName(name);jBean.setPassword(password);jBean.setSex(sex);jBean.setAge(age);String sql ="update login set name=?,password=?,sex=?,age=? where id=?";SqlBean sBean = new SqlBean();int count =sBean.getUpdate(sql,jBean);String url="";if(count>0){url="SearchList.jsp";}else{url ="error.jsp";request.setAttribute("error", "更新");}request.getRequestDispatcher(url).forward(request,response);//forword跳转语句}}4.删除记录的Servlet----Delete.javapackage MVC;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import MVC.SqlBean;public class Delete extends HttpServlet {private static final long serialVersionUID = 1L;public void doDelete(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {// Put your code here}public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");doPost(request,response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");//获取超链接传来的数据String sId = request.getParameter("id");int id =Integer.parseInt(sId);////调用模型层删除方法String sql = "delete from login where id=?";SqlBean sBean = new SqlBean();int count =sBean.getDelete(sql, id);String url="";if(count>0){url="SearchList.jsp";}else{url ="error.jsp";request.setAttribute("error", "删除");}//转发request.getRequestDispatcher(url).forward(request, response);}}XML文件<?xml version="1.0"encoding="UTF-8"?><web-app version="2.5"xmlns="/xml/ns/javaee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/javaee/xml/ns/javaee/web-app_2_5.xsd"><servlet><servlet-name>SearchById</servlet-name><servlet-class>MVC.SearchById</servlet-class></servlet><servlet><servlet-name>Inserts</servlet-name><servlet-class>MVC.Inserts</servlet-class></servlet><servlet><servlet-name>Update</servlet-name><servlet-class>MVC.Update</servlet-class></servlet><servlet><servlet-name>Delete</servlet-name><servlet-class>MVC.Delete</servlet-class></servlet><servlet><servlet-name>Search</servlet-name><servlet-class>MVC.Search</servlet-class></servlet><servlet-mapping><servlet-name>SearchById</servlet-name><url-pattern>/SearchById</url-pattern></servlet-mapping><servlet-mapping><servlet-name>Inserts</servlet-name><url-pattern>/Inserts</url-pattern></servlet-mapping><servlet-mapping><servlet-name>Update</servlet-name><url-pattern>/Update</url-pattern></servlet-mapping><servlet-mapping><servlet-name>Delete</servlet-name><url-pattern>/Delete</url-pattern></servlet-mapping><servlet-mapping><servlet-name>Search</servlet-name><url-pattern>/Search</url-pattern></servlet-mapping><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list></web-app>Jsp文件实现数据库的操作:1.login.jsp文件:用于进行登陆界面<%@page contentType="text/html; charset=UTF-8"%> <html><head><title>数据库管理员</title><script type="text/javascript">function check(){document.form1.action="user.jsp";document.form1.submit();}function login(){document.form1.action="login_conf.jsp";document.form1.submit();}</Script></head><body><center><h1>数据库管理员登陆</h1><hr><br><%// 判断是否有错误信息,如果有则打印// 如果没有此段代码,则显示时会直接打印nullif(request.getAttribute("err")!=null){%><h2><%=request.getAttribute("err")%></h2><%}%><form name="form1"action=""method="post"><table width="80%"><tr><td colspan="2">用户登陆</td></tr><tr><td>用 户 名:</td><td><input type="text"name="uname"></td></tr><tr><td>密 码:</td><td><input type="password"name="upassword"></td> </tr><tr><td colspan="2"><input type="button"onclick="login()" value="登录"><input type="reset"value="重置"><input type="button"onclick="check()" value="注册"></td></tr></table></form></center></body></html>er_action.jsp文件:用于进行接受注册界面的数据处理<%@page contentType="text/html;charset=UTF-8"%><%@page import="java.sql.*"%><html><head><title>添加用户信息</title></head><body><center><br><%!String DBDRIVER="com.mysql.jdbc.Driver";Connection conn = null ;PreparedStatement pstmt = null ;ResultSet rs = null ;%><%// 声明一个boolean变量,用于保存用户是否合法的状态boolean flag = false ;request.setCharacterEncoding("UTF-8");// 接收参数String name = request.getParameter("uname") ;String password = request.getParameter("upassword") ;%><%String sql = "insert into user(uname,upassword) values(?,?)" ;try{Class.forName(DBDRIVER) ;conn =DriverManager.getConnection("jdbc:mysql://localhost:3306/zxdstudent", "root","") ;pstmt = conn.prepareStatement(sql) ;pstmt.setString(1,name) ;pstmt.setString(2,password) ;pstmt.executeUpdate() ;flag = true ;}catch(SQLException e){out.println("添加用户信息失败,可能存在用户名,请重新注册!");e.printStackTrace();}try{//rs.close();pstmt.close();conn.close() ;}catch(Exception e){}%><%// 跳转if(flag){// 用户合法response.sendRedirect("login.jsp");//<jsp:forward page="login.jsp"/>%><%}else{// 用户非法out.println("注册失败");}%></center></body></html>er.jsp文件:进行注册信息的填写<%@page contentType="text/html; charset=UTF-8"%><html><head><title>数据库管理员</title></head><body><center><h1>管理员注册表单</h1><hr><br><form action="user_action.jsp"method="post"><table width="80%"><tr><td colspan="2">用户登陆</td></tr><tr><td>用 户 名:</td><td><input type="text"name="uname"></td></tr><tr><td>密 码:</td><td><input type="password"name="upassword"></td> </tr><tr><td colspan="2"><input type="submit"value="注册"><input type="reset"value="重置"><a href="login.jsp">返回主页面</a></td></tr></table></form></center></body></html>4.login_conf.jsp文件:登陆成功之后进入系统主界面<%@page contentType="text/html;charset=UTF-8"%><%@page import="java.sql.*"%><html><head><title>数据库管理员登陆</title></head><body><center><h1>数据库管理员登陆成功</h1><hr><br>。
基于Servlet、JSP的学生管理系统(附完整源码)
基于Servlet、JSP的学⽣管理系统(附完整源码)起因最近重温servlet,想到了⼤学时期⽤同⼀个“学⽣管理系统”⽔了⼏门课的课程设计,不免感慨万千。
周末简单的写了个界⾯,建了⼏张表,做了⼀个⼩系统(试图找⼀找当年划⽔的感觉,可惜没找到)。
写的⽐较简单,不过做个普通的课程设计应该够了,需要的可以⾃取。
源码地址界⾯截图主界⾯管理员界⾯学⽣管理(管理员视⾓)添加系统⽤户(管理员视⾓)学⽣主页学⽣个⼈信息⽬录结构运⾏环境tomcat9jdk1.8其他依赖jar包见WEB-INF下⾯的lib⽂件夹。
涉及技术:Servlet、JSP、BootStrap、Jquery(较少)主要功能系统有两个⾓⾊,管理员和学⽣。
做的⽐较简单,没有建额外的⾓⾊表、权限表,仅仅⽤了⼀个字段区分。
管理员可以管理学⽣信息、教师信息、可以添加系统⽤户,录⼊成绩,具有增删改查的⼀切权限。
学⽣只能查看⾃⼰的分数,个⼈档案等。
代码分析⾸页数据统计系统运⾏时常、当前在线⼈数,这两个功能⽤到了servlet的组件,监听器。
通过继承ServletContextListener, HttpSessionListener, HttpSessionAttributeListener等接⼝,可以完成对servlet上下⽂、session的创建销毁等关键节点的监听。
在线⼈数,必然是登录成功的⼈数。
⽽session是有⼈访问页⾯就会创建,所以我们不能根据session的创建和销毁来统计在线⼈数。
在登陆成功后,会在session⾥添加⼀个变量,我们可以监听这⼀⾏为。
当设置session变量的时候,在线⼈数+1移除session变量的时候,在线⼈数-1。
当然这种做法还是有问题的,⽐如直接关闭浏览器,不点注销,数据统计就会失效,这⾥不做深⼊探究。
再来说说系统运⾏时长,我的思路是servlet上下⽂创建的时候,记录下那个时刻的时间戳。
后⾯⽤到的时候,直接⽤当前的时间戳减去保存的时间戳,就可以计算出相隔的毫秒数,也就可以得到天数。
jsp的功能
jsp的功能JSP(JavaServer Pages)是一种用来开发动态Web页面的Java技术。
它可以将Java代码嵌入到HTML文档中,以实现更丰富的页面交互和动态数据展示功能。
以下是JSP的一些常见功能。
1. 动态页面生成:JSP可以根据用户请求,动态生成HTML页面,并将页面内容返回给浏览器。
这使得网页内容可以根据不同的条件和参数进行自适应的展示。
开发者可以在JSP中使用Java代码来处理用户请求,调用数据库、调用其他Java对象等。
2. 数据库访问:JSP可以直接连接数据库,并执行数据库操作。
通过使用Java的数据库连接API,JSP可以从数据库中查询、添加、修改和删除数据,然后将结果展示在Web页面上。
这可以实现数据的持久化和动态更新。
3. 表单处理:JSP可以处理用户提交的表单数据。
通过在JSP页面中定义HTML表单元素,并在表单的提交动作中指定JSP的URL,JSP可以接收表单数据,并对数据进行验证、处理和存储。
这些可以用来实现用户注册、登录、数据录入等功能。
4. 条件判断和循环:JSP支持使用Java的条件语句和循环语句。
这使得可以在JSP页面中根据不同的条件展示不同的内容,或者重复展示一段代码块。
通过使用if语句、switch语句和for循环等,可以实现更复杂的页面逻辑。
5. 页面重定向和转发:JSP可以将请求重定向到其他页面,或者将请求转发到另一个JSP或Servlet。
这使得可以在不同的页面之间进行跳转和协作,实现业务流程的分步处理。
6. 用户认证和会话管理:JSP提供了与用户认证和会话管理相关的内置对象。
通过这些对象,可以实现用户登录、注销、用户角色权限控制等功能。
同时,JSP还支持在页面级别和应用程序级别上进行会话管理。
7. 页面模板和复用:JSP支持使用页面模板和标签库进行页面复用。
可以将多个JSP页面中的公共部分抽取出来,形成一个模板文件,然后在其他JSP页面中引用该模板文件。
(完整版)JSP登陆页面代码
}
%>
如果输入信息有误,则回到登录页面,重新输入登录信息。
注册页面:reg.jsp
请输入您的注册信息:
<table>
<form action="/user/Reg" method="post" name="regform" onsubmit="return regconfirm();">
session.setAttribute("login","ok");
session.setMaxInactiveInterval(-1);
%>
<jsp:forward page="main.jsp"/>
<%
}else{
out.println("用户名或密码输入错误!");
}
%>
如果登录成功,则设定login的值为ok,提交到下一步验证页面,则进入main.jsp页面,否则,如果输入的用户名和密码不合法就打印错误信息,main.jsp页面代码如下:
<tr><td>密码:</td><td><input type="password" name="user_pwd" id="user_pwd" size="20" maxlength=10 onBlur="checkPWD();">*可以包含字母数字(区分大小写),6-10位</td>
用jsp程序对数据库表进行增、删、差、改操作
pstmt.setString(6,request.getParameter("Phone")) ;
pstmt.setFloat(7,Float.parseFloat(Grade)) ;//这个地方的问题要牢记
pstmt.setFloat(8,Float.parseFloat(Use)) ;//这个地方的问题要牢记
生 日 费:<input type="text"name="Use"><br>
<input type="submit"value="添加">
<input type="reset"value="重置">
</font>
</form>
<h3><a href="admin.jsp">返回</a>管理员页面</h3>
int x = pstmt.executeUpdate() ;//这个用法牢记
%>
<%
if(x>=1){
flag = true;
%>
添加信息成功!
<h3><a href="admin.jsp">返回</a>管理员页面</h3>
<%
}
%>
<%
}catch(Exception e){
e.printStackTrace() ;
使用JSP实现简单的用户登录注册页面示例代码解析
使⽤JSP实现简单的⽤户登录注册页⾯⽰例代码解析实验要求:将实验2中的系统⽤户登录和注册页⾯改为JSP页⾯,并部署⾃⼰的Web应⽤于Tomcat服务器中具体要求:完成登录JSP页⾯设计和注册页⾯设计在登录页⾯表单中使⽤request对象获取⽤户信息,建⽴新的JSP页⾯完成登录验证(⽤户名和密码⾃⼰指定即可)。
验证结果显⽰(如登录成功/⽤户名密码错误,可以使⽤JavaScript,也可以使⽤新的JSP页⾯)。
在注册页⾯表单中使⽤request对象获取⽤户注册信息(注册项⽬由⾃⼰指定),在新的JSP页⾯显⽰⽤户注册信息,并提⽰注册成功。
代码登录页⾯index.html<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><title>jsp作业</title><link href="css/bootstrap.min.css" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="stylesheet"></head><body><nav class="navbar navbar-default"><div class="container-fluid"><div class="navbar-header"><a class="navbar-brand" href="./" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >jsp作业</a></div><div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"><ul class="nav navbar-nav navbar-right"><li><a href="login.jsp" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >登录</a></li></ul></div></div></nav><div class="container"><div class="jumbotron"><h1>Hello, world!</h1><p>这是⼀个jsp作业</p></div></div></body></html>登录页⾯login.jsp<%@ page contentType="text/html; charset=utf-8" language="java"%><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><title>登录</title><link href="css/bootstrap.min.css" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="stylesheet"></head><body><nav class="navbar navbar-default"><div class="container-fluid"><div class="navbar-header"><a class="navbar-brand" href="./" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >jsp作业</a></div><div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"><ul class="nav navbar-nav navbar-right"><li><a href="login.jsp" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >登录</a></li></ul></div></div></nav><div class="container"><div class="row"><div class="col-md-4"></div><div class="col-md-4"><form class="form-signin" method="post" action="login-check.jsp"><h2 class="form-signin-heading">登录到jsp作业</h2><label for="">⽤户名</label><input type="text" name="username" id="username" class="form-control" placeholder="请输⼊⽤户名" required autofocus><br><label for="">密码</label><input type="password" name="password" id="password" class="form-control" placeholder="请输⼊密码" required><div class="checkbox"><label><input type="checkbox" value="remember-me" checked="checked"> 记住密码</label></div><button type="submit" class="btn btn-primary" id="btn-login">登录</button><a href="reg.jsp" rel="external nofollow" rel="external nofollow" class="btn btn-default">注册</a></form></div><div class="col-md-4"></div></div></body></html>登录结果页⾯login-check.jsp<%@ page contentType="text/html; charset=utf-8" language="java"%><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><title>登录</title><link href="css/bootstrap.min.css" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="stylesheet"></head><body><nav class="navbar navbar-default"><div class="container-fluid"><div class="navbar-header"><a class="navbar-brand" href="./" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >jsp作业</a><div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"><ul class="nav navbar-nav navbar-right"><li><a href="login.jsp" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >登录</a></li></ul></div></div></nav><div class="container"><div class="row"><div class="col-md-4"></div><div class="col-md-4"><form class="form-signin" method="post" action="login-check.jsp"><h2 class="form-signin-heading">登录到jsp作业</h2><label for="">⽤户名</label><input type="text" name="username" id="username" class="form-control" placeholder="请输⼊⽤户名" required autofocus><br><label for="">密码</label><input type="password" name="password" id="password" class="form-control" placeholder="请输⼊密码" required><div class="checkbox"><label><input type="checkbox" value="remember-me" checked="checked"> 记住密码</label></div><button type="submit" class="btn btn-primary" id="btn-login">登录</button><a href="reg.jsp" rel="external nofollow" rel="external nofollow" class="btn btn-default">注册</a></form></div><div class="col-md-4"></div></div></body></html>注册页⾯reg.jsp<%@ page contentType="text/html; charset=utf-8" language="java"%><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><title>注册</title><link href="css/bootstrap.min.css" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="stylesheet"></head><body><nav class="navbar navbar-default"><div class="container-fluid"><div class="navbar-header"><a class="navbar-brand" href="./" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >jsp作业</a></div><div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"><ul class="nav navbar-nav navbar-right"><li><a href="login.jsp" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >登录</a></li></ul></div></div></nav><div class="container"><div class="row"><div class="col-md-4"></div><div class="col-md-4"><form class="form-signin" action="reg-submit.jsp" method="post"><h2 class="form-signin-heading">注册到jsp作业</h2><div id="info"></div><label for="">⽤户名</label><input type="text" name="username" id="username" class="form-control" placeholder="请输⼊⽤户名" required autofocus><br><label for="">密码</label><input type="password" name="password" id="password" class="form-control" placeholder="请输⼊密码" required><br><label for="">重复密码</label><input type="password" name="password2" id="password2" class="form-control" placeholder="请再次输⼊密码" required maxLength="16"><br><button type="submit" class="btn btn-primary" id="btn-reg">注册</button><a href="login.jsp" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="btn btn-default" id="btn-reg">返回登录</a> </form></div><div class="col-md-4"></div></div></body></html>注册结果页⾯reg-submit.jsp<%@ page contentType="text/html; charset=utf-8" language="java"%><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><title>结果</title><link href="css/bootstrap.min.css" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="stylesheet"></head><body><nav class="navbar navbar-default"><div class="container-fluid"><div class="navbar-header"><a class="navbar-brand" href="./" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >jsp作业</a></div><div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"><ul class="nav navbar-nav navbar-right"><li><a href="login.jsp" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >登录</a></li></ul></div></div></nav><div class="container"><% String username = request.getParameter("username");String password = request.getParameter("password");String password2 = request.getParameter("password2");%><%if(password.equals(password2)){out.println("<div class='alert alert-success' role='alert'>注册成功</div>");out.println("<ul class='list-group'>");out.println("<li class='list-group-item'>⽤户名:" + username + "</li>");out.println("<li class='list-group-item'>密码:" + password + "</li>");out.println("</ul>");else{out.println("<div class='alert alert-danger' role='alert'>两次密码输⼊不⼀致,请重新输⼊</div>"); }%><!-- <%=username %><%=password %><%=password2 %> --></div>效果到此这篇关于使⽤JSP实现简单的⽤户登录注册页⾯⽰例代码解析的⽂章就介绍到这了,更多相关JSP实现简单的⽤户登录注册页⾯内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。
Servlet网络编程实验-实现登录页面
实现登录页面
2
在HTML代码中,先假定对此表单进行处理的 Servlet是login,因为提交的数据中包含了用户密 码,所以表单的提交方法我们采用post。
实现登录页面
3
二、 编写并部署success.html文件 将编写好的success.html文件放到 %CATALINA_HOME%\webapps\smp1目录下。
实现登录页面
6
五、 部署Servlet 将LoginServer.class文件放到 %CATALINA_HOME%\webapps\smp1\WEBINF\classes目录下,编辑WEB-INF目录下的 web.xml文件,添加本例中的Servlet配置。
实现登录页面
7
代码如下:
…… <servlet> <servlet-name>LoginServer</servlet-name> <servlet-class>LoginServer</servlet-class> </servlet> …… <servlet-mapping>
<servlet-name>LoginServer</servlet-name> <url-pattern>/login</url-pattern> </servlet-mapping>
实现登录页面
8
六、 访问LoginServlet 启动Tomcat服务器,打开IE,在地址栏中输入 http://localhost:8080/smp1/login.html 显示结果页面。
实现登录页面
0
例:编写一个登录页面,用户输入用户名和密 码后,将表单提交给Servlet进行处理。在 Servlet中,判断用户名和密码是否正确,如果 正确,利用重定向向用户返回登录成功页面; 如果失败,则向用户返回一个HTTP错误信息。
java前后端分离的增删改查项目
java前后端分离的增删改查项目Java前后端分离的增删改查项目随着互联网的快速发展,前后端分离的开发模式越来越受到开发者的青睐。
在这种模式下,前端负责展示页面和用户交互,后端负责业务逻辑和数据处理。
本文将介绍一个基于Java的前后端分离的增删改查项目,以帮助读者了解这种开发模式的具体实现。
一、项目概述本项目是一个简单的增删改查系统,用于管理用户信息。
前端使用Vue.js框架构建页面,后端使用Java编写接口。
前后端通过HTTP 协议进行通信,前端发送请求给后端,后端返回相应的数据。
项目的目标是实现用户信息的增加、删除、修改和查询功能。
二、前端开发前端使用Vue.js框架进行开发,利用其组件化和响应式的特性,可以更高效地构建页面。
首先,我们需要创建一个用户管理的页面,包括用户列表、新增用户、编辑用户和删除用户等功能。
1. 用户列表用户列表页面展示了系统中所有用户的信息,包括用户ID、姓名、年龄和性别等字段。
用户可以通过搜索框快速查找特定用户。
2. 新增用户新增用户页面提供了一个表单,用于输入用户的详细信息。
用户需要填写姓名、年龄和性别等字段,并点击提交按钮进行保存。
3. 编辑用户编辑用户页面与新增用户页面类似,但是需要预先加载用户的信息,并在表单中显示出来。
用户可以修改用户的任意字段,并点击提交按钮保存修改。
4. 删除用户删除用户功能通过点击列表中的删除按钮来实现。
在确认删除之前,系统会弹出一个提示框,确保用户的操作是有意义的。
三、后端开发后端使用Java编写接口,处理前端发送过来的请求,并返回相应的数据。
我们需要设计相应的接口,包括新增用户、删除用户、修改用户和查询用户等功能。
1. 新增用户接口新增用户接口接收前端传递过来的用户信息,将其保存到数据库中。
在保存之前,需要对用户信息进行校验,确保数据的有效性。
2. 删除用户接口删除用户接口接收前端传递过来的用户ID,通过该ID在数据库中找到对应的用户并进行删除操作。
Servlet实现增删改查功能
MVC模式M:Model,即模型,对于JavaBeanV:View,即试图,对应JSP页面C:Controller,即控制器,对应Servlet1.以下为MVC实现一个简单的增删改查功能1>显示记录2>增加一条记录3>修改一条记录4>删除一条记录程序源代码:M层:模型层1.封装一条信息的所有属性JavaBean.java ,即VO package muta.bean;/*** @author help*封装一条信息的所有属性*/public class JavaBean {private int id;private String name;private String password;private String sex;private int age;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) { = name;}public String getPassword() {return password;}public void setPassword(String password) { this.password = password;}public String getSex() {return sex;}public void setSex(String sex) {/*** @author help*操作数据库的方法*/public class SqlBean {Connection con;PreparedStatement pre;ResultSet rs;public SqlBean(){try {Class.forName("com.mysql.jdbc.Driver");} catch (ClassNotFoundException e) {e.printStackTrace();}try {con=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/MyServl et","root","122828");} catch (SQLException e) {e.printStackTrace();}}/*** @author help**插入新的一条记录* @return*/public int getInsert(String sql,JavaBean jBean) {int count =0;try {pre = con.prepareStatement(sql);pre.setString(1,jBean.getName());pre.setString(2,jBean.getPassword());pre.setString(3,jBean.getSex());pre.setInt(4,jBean.getAge());count=pre.executeUpdate();} catch (SQLException e) {e.printStackTrace();}finally{try {pre.close();con.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}return count;}/*** @author help**删除一条记录* @return*/public int getDelete(String sql,int id){int count =0;try {pre = con.prepareStatement(sql);pre.setInt(1, id);count=pre.executeUpdate();} catch (SQLException e) {e.printStackTrace();}finally{try {pre.close();con.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}return count;}/*** @author help**根据ID查询某一条记录* @return*/public JavaBean getSearchById(String sql,int id){JavaBean jBean = new JavaBean();try {pre = con.prepareStatement(sql);pre.setInt(1, id);rs=pre.executeQuery();while(rs.next()){jBean.setId(rs.getInt("id"));jBean.setName(rs.getString("name"));jBean.setPassword(rs.getString("password"));jBean.setSex(rs.getString("sex"));jBean.setAge(rs.getInt("age"));}} catch (SQLException e){e.printStackTrace();}return jBean;}/*** @author help**更新某一条记录* @return*/public int getUpdate(String sql,JavaBean jBean) {int count =0;try {pre = con.prepareStatement(sql);pre.setInt(5,jBean.getId());pre.setString(1,jBean.getName());pre.setString(2,jBean.getPassword());pre.setString(3,jBean.getSex());pre.setInt(4,jBean.getAge());count = pre.executeUpdate();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{try {pre.close();con.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}return count;}jBean.setAge(rs.getInt("age"));list.add(jBean);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{try {pre.close();con.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}return list;}}V层:试图层1.显示记录集的页面 SearchList.jsp<%@page language="java"import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath =request.getScheme()+"://"+request.getServerName() +":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type"content="text/html; charset=UTF-8"><title>显示记录</title></head><body><center><font color=red size=72>学生信息如下:</font><hr><table border=1bgColor="#ffffff"width="500px" height="100px"><tr><td>ID</td><td>姓名</td><td>密码</td><td>性别</td><td>年龄</td><td><center>操作</center></td></tr><jsp:useBean id="sBean"class="muta.bean.SqlBean"/> <jsp:useBean id="jBean"class="muta.bean.JavaBean"/><%String sql ="select * from student order by id";java.util.List list =sBean.getSearch(sql);for(java.util.Iterator it=list.iterator();it.hasNext();){//获取一个JavaBean对象jBean =(muta.bean.JavaBean)it.next();%><tr><td><%=jBean.getId() %></td><td><%=jBean.getName() %></td><td><%=jBean.getPassword() %></td><td><%=jBean.getSex() %></td><td><%=jBean.getAge() %></td><td><a href="Insert.jsp">增加</a><a href="Delete?id=<%=jBean.getId()%>">删除</a> <ahref="SearchById?id=<%=jBean.getId()%>">更新</a> </td></tr><% }%></table>2.插入页面Insert.jsp<center><font color=red size=72>学生管理页面</font><hr><form action="Insert"method="post"><table border="1"><tr><td>姓名:</td><td><input name ="name"></td></tr><tr><td>密码:</td><td><input type="password"name ="password"></td> </tr><tr><td>性别:</td><td><input type="radio"name ="sex"value="男">男<input type="radio"name ="sex"value="女">女</td><tr><td>年龄:</td><td><input type="text"name ="age"></td> </tr><tr><td colspan="2"><center><input type="submit"value="提交"><input type="reset"value="重置"></center></td></tr></table></form><a href="SearchList.jsp">查询</a></center></body></html>3.更新页面Update.jsp<%@page language="java"import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath =request.getScheme()+"://"+request.getServerName() +":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type"content="text/html; charset=UTF-8"><title>更新</title></head><body><center><font color=red size=72>学生管理页面</font><hr><form action="Update"method="post""><table border="1"><tr><td>学生ID:</td><td><input name="id"value="<%=request.getAttribute("id") %>" readonly></td></tr><tr><td>学生姓名:</td><td><input name="name"value="<%=request.getAttribute("name") %>"></td> </tr><tr><td>学生密码:</td><td><input type="password"name="password"value="<%=request.getAttribute("password") %>"> </td></tr><tr><td>学生性别:</td><td><input type="radio"name ="sex"value="男"<%=request.getAttribute("man") %>>男<input type="radio"name ="sex"value="女"<%=request.getAttribute("woman") %>>女</td></tr><tr><td>学生年龄:</td><td><input type="text"name="age"value="<%=request.getAttribute("age") %>"></td> </tr><tr><td colspan="2"><center><input type="submit"value="提交"><input type="reset"value="重置"></center>4.出错页面Error.jspC层:控制层—Servlet1.显示记录集的Servlet----SearchById.javapackage muta.servlet;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import muta.bean.JavaBean;import muta.bean.SqlBean;public class SearchById extends HttpServlet {private static final long serialVersionUID = 1L;/*** The doDelete method of the servlet. <br>** This method is called when a HTTP delete request is received.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doDelete(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {// Put your code here}/*** The doGet method of the servlet. <br>** This method is called when a form has its tag value method equals to get.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doGet(HttpServletRequest request, HttpServletResponseresponse)throws ServletException, IOException {doPost(request,response);}/*** The doPost method of the servlet. <br>** This method is called when a form has its tag value method equals to post.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8");//获取用户IDString sid = request.getParameter("id");int id =Integer.parseInt(sid);String sql ="select * from student where id=?"; SqlBean sBean = new SqlBean();JavaBean jBean = sBean.getSearchById(sql, id);//用户IDrequest.setAttribute("id",jBean.getId());//用户姓名request.setAttribute("name",jBean.getName());//用户密码request.setAttribute("password",jBean.getPassword());//用户性别String sex="";String man="";String woman="";if(jBean.getSex()!=null){sex=jBean.getSex().trim();if(sex.equals("男")){man ="checked";}else{woman ="checked";}}request.setAttribute("man",man);request.setAttribute("woman",woman);//用户年龄request.setAttribute("age",jBean.getAge());//转发request.getRequestDispatcher("Update.jsp").forward(request,2.增加记录的Servlet----Insert.javaprivate static final long serialVersionUID = 1L;/*** The doDelete method of the servlet. <br>** This method is called when a HTTP delete request is received.** @param request the request send by the client to the server* @param response the response send by the server to the client * @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doDelete(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {// Put your code here}/*** The doGet method of the servlet. <br>** This method is called when a form has its tag value method equals to get.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");doPost(request,response);}/*** The doPost method of the servlet. <br>** This method is called when a form has its tag value method equals to post.* @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");//获取前台页面数据String name =request.getParameter("name");String password =request.getParameter("password");String sex =request.getParameter("sex");String sage = request.getParameter("age");int age =Integer.parseInt(sage);//封装到JavaBean对象中去JavaBean jBean = new JavaBean();jBean.setName(name);jBean.setPassword(password);jBean.setSex(sex);jBean.setAge(age);//调用模型层String sql = "insert into student(name,password,sex,age) values(?,?,?,?)";SqlBean sBean = new SqlBean();int count =sBean.getInsert(sql,jBean);String url="";if(count>0){url="SearchList.jsp";}else{url ="error.jsp";request.setAttribute("error", "ע��");}//转发ת3.更新记录的Servlet----Updated.java/****/private static final long serialVersionUID = 1L;/*** The doDelete method of the servlet. <br>** This method is called when a HTTP delete request is received.** @param request the request send by the client to the server* @param response the response send by the server to the client * @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doDelete(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {// Put your code here}/*** The doGet method of the servlet. <br>** This method is called when a form has its tag value method equals to get.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doPost(request,response);}/*** The doPost method of the servlet. <br>** This method is called when a form has its tag value method equals to post.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");//获得前台表单信息String sid = request.getParameter("id");int id =Integer.parseInt(sid);String name =request.getParameter("name");String password =request.getParameter("password");String sex =request.getParameter("sex");String sage = request.getParameter("age");int age =Integer.parseInt(sage);//封装到JavaBean对象中去JavaBean jBean = new JavaBean();jBean.setId(id);jBean.setName(name);jBean.setPassword(password);jBean.setSex(sex);jBean.setAge(age);String sql ="update student set name=?,password=?,sex=?,age=? where id=?";SqlBean sBean = new SqlBean();int count =sBean.getUpdate(sql,jBean);String url="";if(count>0){url="SearchList.jsp";}4.删除记录的Servlet----Delete.javaimport muta.bean.SqlBean;public class Delete extends HttpServlet {private static final long serialVersionUID = 1L;/*** The doDelete method of the servlet. <br>** This method is called when a HTTP delete request is received.** @param request the request send by the client to the server* @param response the response send by the server to the client * @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doDelete(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {// Put your code here}/*** The doGet method of the servlet. <br>** This method is called when a form has its tag value method equals to get.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");doPost(request,response);}/*** The doPost method of the servlet. <br>** This method is called when a form has its tag value method equals topost.** @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");//获取超链接传来的数据String sId = request.getParameter("id");int id =Integer.parseInt(sId);////调用模型层删除方法String sql = "delete from student where id=?";SqlBean sBean = new SqlBean();int count =sBean.getDelete(sql, id);XML文件xsi:schemaLocation="/xml/ns /javaee/xml/ns/javaee/web-app_2_5. xsd"><servlet><servlet-name>Update</servlet-name><servlet-class>muta.servlet.Update</servlet-class ></servlet><servlet><servlet-name>SearchById</servlet-name><servlet-class>muta.servlet.SearchById</servlet-c lass></servlet><servlet><servlet-name>Insert</servlet-name><servlet-class>muta.servlet.Insert</servlet-class ></servlet><servlet><servlet-name>Delete</servlet-name><servlet-class>muta.servlet.Delete</servlet-class ></servlet><servlet-mapping><servlet-name>Update</servlet-name><url-pattern>/Update</url-pattern></servlet-mapping><servlet-mapping><servlet-name>SearchById</servlet-name><url-pattern>/SearchById</url-pattern></servlet-mapping><servlet-mapping><servlet-name>Insert</servlet-name><url-pattern>/Insert</url-pattern></servlet-mapping>。
使用JSP对数据库进行增删改查
使用JSP对数据库进行增删改查JSP(Java Server Pages)是一种用于开发Web应用程序的Java技术。
它可以直接在HTML页面中嵌入Java代码,实现动态生成页面内容。
在使用JSP进行数据库的增删改查操作时,通常需要借助JDBC(Java Database Connectivity)来进行数据库的连接和操作。
接下来,需要进行数据库的连接。
可以使用JDBC提供的DriverManager类和Connection接口来实现。
首先,需要定义数据库的相关信息,如驱动程序名称、数据库URL、用户名和密码。
然后,使用DriverManager的静态方法getConnection(来获取数据库连接,传入相应的参数。
例如,对于MySQL数据库,可以使用如下代码进行连接:String url = "jdbc:mysql://localhost:3306/database_name"; // 数据库URLString userName = "root"; // 数据库用户名String password = "password"; // 数据库密码try//加载驱动程序Class.forName(driverName);//获取数据库连接Connection connection = DriverManager.getConnection(url, userName, password);//...} catch (ClassNotFoundException e)e.printStackTrace(;} catch (SQLException e)e.printStackTrace(;连接成功后,接下来可以进行数据库的增删改查操作。
通常,可以使用JDBC的Statement或PreparedStatement对象来执行SQL语句。
Statement对象用于静态SQL语句,而PreparedStatement对象用于动态SQL语句。
servlet中doGet()和doPost()的用法
servlet中doGet()和doPost()的⽤法1、servlet中doGet()和doPost()的⽤法⼀般来说我们是⽤不到doGet⽅法的,doGet⽅法提交表单的时候会在url后边显⽰提交的内容,所以不安全。
⽽且doGet⽅法只能提交256个字符(1024字节),⽽doPost没有限制,因为get⽅式数据的传输载体是URL(提交⽅式能form,也能任意的URL链接),⽽POST是HTTP头键值对(只能以form⽅式提交)。
通常我们使⽤的都是doPost⽅法,你只要在servlet中让这两个⽅法互相调⽤就⾏了,例如在doGet⽅法中这样写public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doPost(request,response);}再把业务逻辑直接写在doPost⽅法中。
servlet碰到doGet⽅法调⽤直接就会去调⽤doPost因为他们的参数都⼀样。
⽽且doGet⽅法处理中⽂问题很困难,要写过滤器之类的。
以上from 百度知道 @權寶兒在⽹上搜集了⼀些资料,把两⽅法的区别整理如下:get和post是http协议的两种⽅法,另外还有head, delete等这两种⽅法有本质的区别,get只有⼀个流,参数附加在url后,⼤⼩个数有严格限制且只能是字符串。
post的参数是通过另外的流传递的,不通过url,所以可以很⼤,也可以传递⼆进制数据,如⽂件的上传。
在servlet开发中,以doGet()和doPost()分别处理get和post⽅法。
⾸先判断请求时是get还是post,如果是get就调⽤doGet(), 如果是post就调⽤doPost()。
都会执⾏这个⽅法。
1.doGetGET调⽤⽤于获取服务器信息,并将其做为响应返回给客户端。
