zoukankan      html  css  js  c++  java
  • java web开发基础实例(javabean+jsp+servlet+jdbc)

    JavaBean:用于传递数据,拥有与数据相关的逻辑处理

    JSP:从Model接收数据并生成HTML

    Servlet:接收HTTP请求并控制Model和View

    jdbc:用于配置环境

    一、【建立数据库】

    在mysql中新建一个名为kecheng的数据库,并在其中新建一个kecheng数据表,包含三个字段,classname,classroom,teacher

    二、【新建web项目

    1. eclipse新建一个名为kechengguanlli的Dynamic Web Project

    修改class的默认输出目录为:WebContent/WEB-INF/classes,勾选自动生成web.xml

    2. 将连接mysql的驱动jar包(mysql-connector-java-5.1.7-bin.jar)copy到WEB-INF下的lib目录下

    3.  新建7个包

    helper、链接数据库的操作,避免重复写代码,所以用一个包封装起来

    SQL、数据库增删改查的统一代码,在实例中具体调用

    javabean、基类,包括此项目中的成员变量

    servlet、增加数据库中课程

    servletdelete、删除数据库中课程

    servletseclec、查询数据库中课程

    servletupdate、修改数据库中课程

    4. 新建类(最愉快的搬砖环节  -.-),java类放在对应包中,jsp页面放在WebContent目录下,替换web.xml中内容;

    helper包下新建 DbHelper.java

    package helper;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    
    public class DbHelper {
        private static String url = "jdbc:mysql://localhost:3306/kecheng";  //数据库地址
        private static String userName = "root";  //数据库用户名
        private static String passWord = "199812";  //数据库密码
        private static Connection conn = null;
        
        private DbHelper(){
            
        }
        
        public static Connection getConnection(){
            if(null == conn){
                try {
                    Class.forName("com.mysql.jdbc.Driver");
                    conn = DriverManager.getConnection(url, userName, passWord);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
            return conn;
        }
        
        public static void main(String[] args) {  //测试数据库是否连通
            System.out.println(getConnection());
        }
    }
    

     javabean包下新建kecheng.java 

    package javabean;
    
    public class kecheng {
    	private String classname;
    	private String teacher;
    	private String classroom;
    	private String fanhui;
    	public kecheng()
    	{}
    	public String getClassname() {
    		return classname;
    	}
    	public void setClassname(String classname) {
    		this.classname = classname;
    	}
    	public String getTeacher() {
    		return teacher;
    	}
    	public void setTeacher(String teacher) {
    		this.teacher = teacher;
    	}
    	public String getClassroom() {
    		return classroom;
    	}
    	public void setClassroom(String classroom) {
    		this.classroom = classroom;
    	}
    	public String getFanhui() {
    		return fanhui;
    	}
    	public void setFanhui(String fanhui) {
    		this.fanhui = fanhui;
    	}
    	
    
    }
    

     servlet包下新建add.java 

    package servlet;
    
    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 javabean.kecheng;
    import javabean.kecheng;
    import SQL.sqlclass;
    
    /**
     * Servlet implementation class add
     */
    @WebServlet("/add")
    public class add extends HttpServlet {
    	private static final long serialVersionUID = 1L;
           
        /**
         * @see HttpServlet#HttpServlet()
         */
        public add() {
            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
    		int i=0,j=1,k=0;
    		response.getWriter().append("Served at: ").append(request.getContextPath());
    		String classname=request.getParameter("classname");//防止中文乱码
    	 	 String teacher=request.getParameter("teacher");
    	 	String classroom=request.getParameter("classroom");
    	 	if(teacher.equals("王建民")||teacher.equals("刘立嘉")||teacher.equals("刘丹")||teacher.equals("王辉")||teacher.equals("杨子光"))
    	 	i=1;
    	 	String name;
            name=classroom.substring(0,2);
            if(name.equals("一教")||name.equals("二教")||name.equals("三教")||name.equals("基教"))
            j=1;
            if(true)//课程名
            	k=1;
           
            if(i==1&&j==1&&k==1)
    	 	
            { kecheng student=new kecheng();
    	 		student.setClassname(classname);
    	 		student.setTeacher(teacher);
    	 		student.setClassroom(classroom);
    	 		sqlclass sql=new sqlclass();
    	 		
    	 	sql.addUser(student);
    	 	response.sendRedirect("first.jsp");//页面跳转
            }
            else response.sendRedirect("add.jsp");
            
    	}
    
    	/**
    	 * @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);
    	}
    
    }
    

     【 jsp页面放在WebContent目录下】

    first.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <center>课程基本信息管理主界面</center>
    <center>——————————————————————————————————</center>
    <a href="add.jsp"><center><b>课程信息录入</b></center></a><br>
    <a href="update.jsp"><center><b>课程信息修改</b></center></a><br>
    <a href="delete.jsp"><center><b>课程信息删除</b></center></a><br>
    <a href="select.jsp"><center><b>课程信息查询</b></center></a><br>
    </body>
    </html>
    

      

    add.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <form action="servlet.add" method="get">
    <center>课程信息录入界面</center>
    <center>——————————————————————————————————————</center>
    <center>课程名称:<input type="text" name=classname><br></center>
    <center>任课教师:<input type="text" name=teacher><br></center>
    <center>上课地点:<input type="text" name=classroom><br></center>
    <center><input type="submit" value="保存"></center>
    </body>
    </html>
    

      

    delete.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <center>课程信息删除</center>
    <center>输入以下了表中的任意一个即可</center>
    <center>——————————————————————————————————</center>
    <form action="servletdelete.delete" method="get">
    <center>课程名称:<input type="text" name=classname><br></center>
    <center>任课教师:<input type="text" name=teacher><br></center>
    <center>上课地点:<input type="text" name=classroom><br></center>
    <center><input type="submit" value="确定删除"></center>
    </body>
    </html>
    

    select.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
        <%@page import="java.util.*"%>  
    <%@page import="javabean.kecheng"%>
    <%@page import="SQL.sqlclass"%> 
    <%@page import="java.util.List"%>  
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <center><%="课程"+"     "+"教师"+"     "+"教室" %> </center>
    <%
    sqlclass a=new sqlclass();
    a.getAllUser();
    kecheng c=new kecheng();
    List<kecheng> b= new ArrayList<kecheng>();
    b=a.getAllUser();
    int i=0;
    int j=0;
    j=a.getnum();
    for(;i<j;i++)
    {c=b.get(i);
    %>
     <center><%=c.getClassname()+"     "+c.getTeacher()+"     "+c.getClassroom() %> </center>
    
    <% }%> 
    
    
    </body>
    </html>
    

      update.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <center>课程信息修改</center>
    <center>——————————————————————————————————</center>
    <form action="servletupdate.update" method="get">
    <center>课程名称:<input type="text" name=classname><br></center>
    <center>任课教师:<input type="text" name=teacher><br></center>
    <center>上课地点:<input type="text" name=classroom><br></center>
    <center><input type="submit" value="保存"></center>
    </body>
    </html>
    

    【替换web.xml中内容】

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0">
      <display-name>kechengguanli</display-name>
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
      <servlet>
        <servlet-name>servlet</servlet-name>
        <servlet-class>servlet.add</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>servlet</servlet-name>
        <url-pattern>/servlet.add</url-pattern>
      </servlet-mapping>
      <servlet>
        <servlet-name>servletdelete</servlet-name>
        <servlet-class>servletdelete.delete</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>servletdelete</servlet-name>
        <url-pattern>/servletdelete.delete</url-pattern>
      </servlet-mapping>
      <servlet>
        <servlet-name>servletupdate</servlet-name>
        <servlet-class>servletupdate.update</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>servletupdate</servlet-name>
        <url-pattern>/servletupdate.update</url-pattern>
      </servlet-mapping>
    </web-app>
    

      

  • 相关阅读:
    基础命令
    RHEL7装机
    模拟项目
    配置NAT,PAT
    配置标准ACL,扩展ACL,命名ACL
    HSRP,STP配置
    三层交换配置及RIP动态路由
    vlan,trunk,DHCP,以太网通道
    ERRORS: MRBC.UserInfo.groups: (fields.E304) Reverse accessor for 'UserInfo.groups' clashes with reverse accessor for 'User.groups'. HINT: Add or change a related_name argument to the definition for '
    权限rbac(基于角色的访问控制)
  • 原文地址:https://www.cnblogs.com/zql98/p/10091206.html
Copyright © 2011-2022 走看看