精华内容
下载资源
问答
  • Java Web当应用开发与实践(第2版) 所有配套资源:PPT,案例代码,教学大纲,教学教案
  • java web 开发与应用教材源码
  • Java Web开发实践教程——从设计到实现(第2版)(2013年)的源代码。
  • 文章目录 环境配置 intelij idea 2020.2 创建Java web项目 基础知识 HTML应用 掌握HTML表单和表单元素的使用 实现校验功能 JSP 应用 jsp内置对象的方法不能解析,tomcat调试问题 基础知识: 用户登录 留言板 JDBC...

    环境配置

    intelij idea 2020.2 创建Java web项目

    创建java web项目,配置tomcat

    基础知识

    怎么创建包
    web中常见错误之404 原始服务器没有找到目标资源的当前表示,或者不愿意公开该目标资源。

    HTML应用

    掌握HTML表单和表单元素的使用

    基础知识:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    需求:
    在这里插入图片描述

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>用户登录</title>
    </head>
    <body>
    <form action="http://localhost:63342/" method="get">
        <h1 align="center"><font color="red" size="7"><b>用户注册</b></font></h1>
    <table align="center">
        <tr>
            <td align="right"> 用户名:</td>
            <td><input type="text" name="username">用户名由3-5个字符组成</td>
        </tr>
        <tr>
            <td align="right">密码:</td>
            <td> <input type="password" name="password">请输入8-12位密码</td>
        </tr>
        <tr>
            <td align="right"> 确认密码:</td>
            <td><input type="password" name="repassword">两次密码不一致</td>
        </tr>
        <tr>
            <td align="right">Email:</td>
            <td><input type="email" name="email">格式示例:XXXXXXX@163.com</td>
        </tr>
        <tr>
            <td align="right"> 手机号码:</td>
            <td> <input type="text" name="phoneNUmber">格式示例:12803780000</td>
        </tr>
        <tr>
            <td align="right"> 真实姓名:</td>
            <td><input type="text" name="realname">由2-5个中文组成</td>
        </tr>
        <tr>
            <td align="right"> 省份:</td>
            <td>
                <select name="province">
                    <option>--请选择--</option>
                    <option value="河南">河南</option>
                    <option value="黑龙江">黑龙江</option>
                    <option value="河北">河北</option>
                    <option value="海南">海南</option>
                </select>请选择省份
            </td>
        </tr>
        <tr>
            <td align="right"> 技术方向:</td>
            <td>
                <input type="radio" name="direction" value="Java">Java<input type="radio" name="direction" value=".Net">.Net
                <input type="radio" name="direction" value="PHP">PHP<input type="radio" name="direction" value=网页"">网页
                <input type="radio" name="direction" value="IOS">IOS<input type="radio" name="direction" value="Android">Android
            </td>
        </tr>
        <tr>
            <td></td>
            <td align="center"><input type="submit" value="注册">&nbsp;<input type="reset" value="重置"></td>
    
        </tr>
    </table>
    </form>
    </body>
    </html>
    

    实现校验功能

     <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>用户登录</title>
        <script>
            //动态注册事件
            window.onload=function (){
                //获取标签对象
                var username=document.getElementById("userName");
                var password=document.getElementById("password");
                var repassword=document.getElementById("repassword");
                var realname=document.getElementById("realname");
                var formobj=document.getElementById("form01");
    
                var ptext;
                //验证合法性
                function username_verify(){
                    var usernameText=username.value;
                    //验证合法
                    var usernameSpan=document.getElementById("usernameSpan");
                    var patt=/^[\w\W]{3,5}$/;
                    if(patt.test(usernameText)){
                        usernameSpan.style.color="green";
                        return true;
                    }
                    else {
                        usernameSpan.style.color="red";
                        return false;
                    }
                }
                function password_verify(){
                    var passwordText=password.value;
                    ptext=passwordText;
                    var passwordSpan=document.getElementById("passwordSpan");
                    var patt=/^[\w\W]{8,12}$/;
                    if(patt.test(passwordText)){
                        passwordSpan.style.color="green";
                        return true;
                    }
                    else{
                        passwordSpan.style.color="red";
                        return false;
                    }
                }
                function repassword_verify(){
                    var repasswordText=repassword.value;
                    var repasswordSpan=document.getElementById("repasswordSpan");
                    if(repasswordText==ptext){
                        repasswordSpan.style.color="green";
                        repasswordSpan.innerHTML="两次密码一致"
                        return true;
                    }
                    else{
                        repasswordSpan.style.color="red";
                        repasswordSpan.innerHTML="两次密码不一致";
                        return false;
                    }
                }
                function realname_verify(){
                    var realnameText=realname.value;
                    var realnameSpan=document.getElementById("realnameSpan");
                    var patt=/^[\u4e00-\u9fa5]{2,5}$/;
                    if(patt.test(realnameText)){
                        realnameSpan.style.color="green";
                        return true;
                    }
                    else{
                        realnameSpan.style.color="red";
                        return false;
                    }
                }
                //通过标签对象,事件名=function(){}
                username.onblur=function (){
                    username_verify();
                }
                password.onblur=function (){
                   password_verify();
                }
                repassword.onblur=function (){
                   repassword_verify();
                }
                realname.onblur=function (){
                   realname_verify();
                }
                formobj.onsubmit=function (){
                    if(username_verify() && password_verify() && repassword_verify() && realname_verify()){
                        return true;
                    }
                    else{
                        return false;
                    }
                }
            }
        </script>
    </head>
    <body>
    
    <form action="http://localhost:8080/" method="get" id="form01" >
        <h1 align="center"><font color="red" size="7"><b>用户注册</b></font></h1>
    <table align="center">
        <tr>
            <td align="right"> 用户名:</td>
            <td><input type="text" name="username" id="userName" value=""><span id="usernameSpan">用户名由3-5个字符组成</span></td>
        </tr>
        <tr>
            <td align="right">密码:</td>
            <td> <input type="password" name="password" id="password"><span id="passwordSpan">请输入8-12位密码</span> </td>
        </tr>
        <tr>
            <td align="right"> 确认密码:</td>
            <td><input type="password" name="repassword" id="repassword"><span id="repasswordSpan">两次密码不一致</span> </td>
        </tr>
        <tr>
            <td align="right">Email:</td>
            <td><input type="email" name="email">格式示例:XXXXXXX@163.com</td>
        </tr>
        <tr>
            <td align="right"> 手机号码:</td>
            <td> <input type="text" name="phoneNUmber">格式示例:12803780000</td>
        </tr>
        <tr>
            <td align="right"> 真实姓名:</td>
            <td><input type="text" name="realname" id="realname"><span id="realnameSpan">2-5个中文组成</span> </td>
        </tr>
        <tr>
            <td align="right"> 省份:</td>
            <td>
                <select name="province">
                    <option>--请选择--</option>
                    <option value="河南">河南</option>
                    <option value="黑龙江">黑龙江</option>
                    <option value="河北">河北</option>
                    <option value="海南">海南</option>
                </select>请选择省份
            </td>
        </tr>
        <tr>
            <td align="right"> 技术方向:</td>
            <td>
                <input type="radio" name="direction" value="Java">Java<input type="radio" name="direction" value=".Net">.Net
                <input type="radio" name="direction" value="PHP">PHP<input type="radio" name="direction" value=网页"">网页
                <input type="radio" name="direction" value="IOS">IOS<input type="radio" name="direction" value="Android">Android
            </td>
        </tr>
        <tr>
            <td></td>
            <td align="center"><input type="submit" value="注册">&nbsp;<input type="reset" value="重置"></td>
    
        </tr>
    </table>
    
    </form>
    
    </body>
    </html>
    

    JSP 应用

    jsp内置对象的方法不能解析,tomcat调试问题

    • 第一个开始找到的是要从tomcat那儿导入jar包,但是九个内置对象中session的不能用,后来改从maven仓库下载。
      idea:file–project structure --liabraries–添加
      https://mvnrepository.com/ 下载包,点里面的【jar 文件大小】标签下载
    • tomcat调试:配置好后先在右上角把tomcat服务器启动起来,然后右键run要跑的代码。

    基础知识:

    页面结构,编译指令,动作指令,内置对象
    参考:jsp页面跳转
    jsp实现表单提交
    课件

    用户登录

    在这里插入图片描述
    Login.jsp

    <%--
      Created by IntelliJ IDEA.
      User: 11759
      Date: 2020/10/9
      Time: 21:11
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    <form action="verify.jsp" method="get">
        <table align="center">
            <tr>
                <td align="right">用户:</td>
                <td><input type="text" name="username"></td>
            </tr>
            <tr>
                <td align="right">密码:</td>
                <td> <input type="password" name="password"></td>
            </tr>
            <tr>
                <td align="center"><input type="submit" value="提交查询">
            </tr>
        </table>
    </form>
    </body>
    </html>
    

    verify.jsp

    <%@ page import="javax.servlet.http.*" %><%--
      Created by IntelliJ IDEA.
      User: 11759
      Date: 2020/10/9
      Time: 21:24
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    <%
        request.setCharacterEncoding("utf-8");
    
        String username = request.getParameter("username");
        String pwd = request.getParameter("password");
        String rightpwd="123456";
        if((!"".equals(username))&&rightpwd.equals(pwd)){
            session.setAttribute("username", username);
            request.getRequestDispatcher("greet.jsp").forward(request, response);
        }
        else{
            response.sendRedirect("Login.jsp");
        }
    %>
    </body>
    </html>
    
    

    greet.jsp

    <%--
      Created by IntelliJ IDEA.
      User: 11759
      Date: 2020/10/9
      Time: 23:57
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    <% request.setCharacterEncoding("utf-8");%>
    "欢迎,<%= session.getAttribute("username")%>
    </body>
    </html>
    
    

    留言板

    在这里插入图片描述
    form.jsp

    
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>留言</title>
    </head>
    <body>
    
    <form action="addMessage.jsp" method="get">
        <table align="center">
            <tr>
                <td align="right">用户:</td>
                <td><input type="text" name="userName"></td>
            </tr>
            <tr>
                <td align="right">留言:</td>
                <td> <input type="text" name="message"></td>
            </tr>
            <tr>
                <td align="center"><input type="submit" value="提交">
            </tr>
        </table>
    </form>
    </body>
    </html>
    
    

    addMessage.jsp

    
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%@page import="java.util.*" %>
    <html>
    <head>
        <title>addMessage</title>
    </head>
    <body>
    <%!
        private String getIPAddress(HttpServletRequest request)
        {
            if(request.getHeader("x-forwarded-for") == null)
            {
                return request.getRemoteAddr();
            }
            return request.getHeader("x-forwarded-for");
        }
    %>
    <%
        String userName = request.getParameter("userName");
        String message = request.getParameter("message");
        String IPAddress = request.getRemoteAddr();
        String str = userName+"@"+IPAddress+"说:"+message;
    
        try{
            List<String> messageList;
            messageList = (List<String>) application.getAttribute("allMessage");
            messageList.add(str);
            application.setAttribute("allMessage",messageList);
        }catch (Exception e)
        {
            List<String> messageList = new ArrayList<>();
            messageList.add(str);
            application.setAttribute("allMessage",messageList);
        }
    
        request.getRequestDispatcher("show.jsp").forward(request,response);
    %>
    </body>
    </html>
    
    

    show.jsp

    
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%@page import="java.util.*" %>
    <html>
    <head>
        <title>addMessage</title>
    </head>
    <body>
    <%!
        private String getIPAddress(HttpServletRequest request)
        {
            if(request.getHeader("x-forwarded-for") == null)
            {
                return request.getRemoteAddr();
            }
            return request.getHeader("x-forwarded-for");
        }
    %>
    <%
        String userName = request.getParameter("userName");
        String message = request.getParameter("message");
        String IPAddress = request.getRemoteAddr();
        String str = userName+"@"+IPAddress+"说:"+message;
    
        try{
            List<String> messageList;
            messageList = (List<String>) application.getAttribute("allMessage");
            messageList.add(str);
            application.setAttribute("allMessage",messageList);
        }catch (Exception e)
        {
            List<String> messageList = new ArrayList<>();
            messageList.add(str);
            application.setAttribute("allMessage",messageList);
        }
    
        request.getRequestDispatcher("show.jsp").forward(request,response);
    %>
    </body>
    </html>
    
    

    JDBC应用

    连接数据库:连接mysql
    先下载 https://dev.mysql.com/downloads/connector/j/
    在这里插入图片描述
    解压后把东西放入上述路径

    遇到的问题:缺失drive 文件,开始下载失败后来成功(可能的是网络问题),MySQL时区不对,修改时区

    展开全文
  • 《Java Web 开发与实战》PDF 下载
  • <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>用户注册</title> </head> <body> <table align="center" width="500">......
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>用户注册</title>
    </head>
    <body>
    
    <table align="center" width="500">
    
    <tr>
    <td>用户名</td>
    <td>
    <input name="txtUser" type="text"></input>
    </td>
    </tr>
    
    <tr>
    <td>密码</td>
    <td>
    <input name="txtPwd" type="password"></input>
    </td>
    </tr>
    
    <tr>
    <td>确认密码</td>
    <td>
    <input name="txtRpt" type="password"></input>
    </td>
    </tr>
    
    
    <tr>
    <td>用户类型</td>
    <td>
    <select name="usertype">
    <option value="1">管理员</option>
    <option value="2">普通用户</option>
    </select>
    </td>
    </tr>
    
    <tr>
    <td>性别</td>
    <td>
    <input name="sex" type="radio" value="male" />男
    <input name="sex" type="radio" value="female"/>女
    </td>
    </tr>
    
    <tr>
    <td>兴趣爱好</td>
    <td>
    <input name="hobby" type="checkbox" value="reading" />阅读
    <input name="hobby" type="checkbox" value="music"/>音乐
    <input name="hobby" type="checkbox" value="sports"/>运动
    </td>
    </tr>
    
    <tr>
    <td>电子邮件</td>
    <td>
    <input name="email" type="text"></input>
    </td>
    </tr>
    
    <tr>
    <td>自我介绍</td>
    <td>
    <textarea name="introduction" cols="40" rows="5"></textarea>
    </td>
    </tr>
    
    <tr>
    <td colspan="2" align="center">
    <input name="submit" type="submit" value="提交"></input>
    <input name="reset" type="reset" value="重置"></input>
    </td>
    </tr>
    
    </table>
    </body>
    </html>
    

    在这里插入图片描述

    展开全文
  • 此实例是学习java web开发人员必备,详细的将struts2,hibernate,spring相关知识讲解出来!
  • Java Wet应用开发项目设计参考方案学时84 项目一 网上商城项目开发环境的搭建学时8 一 教学目标 最终目标学会Java Web 开发环境搭建了解如何在集成开发环境中开发 JSP Servlet程序能在Web服务器上进行运行测试 促成...
  • 使用于Java Web开发的初学者,内含教案ppt,最重要是附带全部源代码,内容详尽。
  • Java_Web应用开发项目教程_第四章.ppt
  • JavaWeb小型系统开发实践

    多人点赞 2019-12-13 20:42:04
    目标系统 实验设备管理系统 开发环境 Windows 10 Eclipse 4.7.3 Apache Tomcat 8.0.1 ...开发过程 在环境配置好的情况下开始...编写系统所需jspjava文件 ①登录 //Login.jsp <%@ page language="java" impo...

    目标系统

    实验设备管理系统
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    开发环境

    Windows 10
    Eclipse 4.7.3
    Apache Tomcat 8.0.1
    MySQL

    开发过程

    在环境配置好的情况下开始在eclipse中部署Tomcat和项目
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    建立数据库和所需的表
    在这里插入图片描述
    编写系统所需jsp与java文件
    ①登录

    //Login.jsp
    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    <html>
    <head>
     <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width , initial-scale=1, shrink-to-fit=no">
        <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>实验设备管理系统登录</title>
     <style type="text/css" media="screen">
            body{
                background-color: lightblue;
            }
            p{
                font-size: 15px;
            }
              #one{
            width:500px;
            
            }
            #right{
                background-color: #20A8D8;
                 width:410px;
            }
            #left{
                background-color: #1985AC;
            }
         
            .btn-link{
                font-size: 13px;
                text-decoration: none;
            }
        </style>
    </head>
    <body>
        <div class="container">
            <div class="row justify-content-center mt-5">
                <div class="col-md-8" align="center">
                    <div  id = "one" class="card-group">
                        <div class="card p-4">
                            <form action="LoginServlet" method="post">//设置跳转文件路径
                            <div class="card-body"  align="center">
                                <h2>实验设备管理系统</h2>
                                <p class="text-muted">实验人员模式</p>
                              
                                <div class="input-group mb-3">
                                    <div class="input-group-prepned">
                                        <span class="input-group-text">
                                            <i class="icon-user">实验人员</i>
                                        </span>
                                    </div>
                                    <input class="form-control" type="text" name="username" placeholder="Username">
                                </div>
                                <div class="input-group mb-4">
                                    <div class="input-group-prepned">
                                        <span class="input-group-text">
                                            <i class="icon-lock">密  码</i>
                                        </span>
                                    </div>
                                    <input class="form-control" type="password" name="password" placeholder="Password">
                                </div>
                             
                                <div class="row" >
                                    <div class="col-6"  >
                                        <button  type="submit" class="btn btn-primary px-4" id="right" >登录</button>                   </div>
                                    <br>
                                      <div class="col-7 text-center">    
                                      <a href="addID.jsp"   style="text-decoration: none;">注册账户</a>
                                      
                                      </div>
                                    <div align="right">                     
                                      <a href="Login_02.jsp"   style="text-decoration: none;">切换到管理员</a>                                    
                                    </div>
                              
                                </div>
                            </div>
                            </form>
                            
                        </div>         
                    </div>
                </div>
            </div>
        </div>
        <!-- Optional JavaScript -->
        <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script><!-- jQuery first -->
        <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js" integrity="sha384-wHAiFfRlMFy6i5SRaxvfOCifBUQy1xHdJ/yoi7FRNXMRBu5WHdZYu1hA6ZOblgut" crossorigin="anonymous"></script><!-- then Popper.js -->
        <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js" integrity="sha384-B0UglyR+jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k" crossorigin="anonymous"></script><!-- then Bootstrap JS -->
      </body>
    </html>
    
    //LoginServlet.java
    package servlet;
    import java.io.IOException;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    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.swing.JOptionPane;
    import bean.User;
    /**
     * Servlet implementation class LoginServlet
     */
    @WebServlet("/LoginServlet")
    public class LoginServlet extends HttpServlet {
    	private static final long serialVersionUID = 1L;
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		User user = null ;
    		//连接数据库
    		try {
    			Class.forName("com.mysql.jdbc.Driver");
    			String url = "jdbc:mysql://localhost:3306/equipment";
    			String username1 = "root";
    			String password1 = "123456";
    			Connection conn = DriverManager.getConnection(url,username1,password1);
    			String sql = "select * from user where username = "+ request.getParameter("username") +" and password = "+request.getParameter("password")+"";
    			PreparedStatement ps =  conn.prepareStatement(sql);
    			ResultSet rs = ps.executeQuery();
    			while (rs.next()) {
    				String username = rs.getString("username") ;
    				String password = rs.getString("password") ;
    				user = new User(username, password) ;
    			}
    		}catch(ClassNotFoundException e) {
    			e.printStackTrace();
    		} catch (SQLException e) {
    			e.printStackTrace();
    		}
    		if (user == null ) {
    			JOptionPane.showMessageDialog(null, "请输入正确的账号和密码", "错误!", JOptionPane.ERROR_MESSAGE);			
    		}else {
    			request.getRequestDispatcher("/jsp/list.jsp").forward(request, response);
    		}	
    	}
    }
    

    遇到的问题总结

    ①Tomcat部署项目后,突然关闭的问题:

    信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files (x86)\Java\jre1.8.0_221\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;D:/jee-oxygen/eclipse/jre/bin/server;D:/jee-oxygen/eclipse/jre/bin;E:\aconda;E:\aconda\Library\mingw-w64\bin;E:\aconda\Library\usr\bin;E:\aconda\Library\bin;
    十二月 13, 2019 7:26:44 下午 org.apache.tomcat.util.digester.SetPropertiesRule begin
    警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:EquipmentManage' did not find a matching property.
    

    下载对应Tomcat版本的tcnative-1.dll并放进Tomcat的bin目录下并重启Tomcat,如果版本不一致,Tomcat会出现提示。
    http://archive.apache.org/dist/tomcat/tomcat-connectors/native/
    在这里插入图片描述

    展开全文
  • 用户管理系统javaWeb

    2015-09-06 16:24:36
    简易的用户管理系统 网页版 利用jdbc java web 前后台 各种技术 完成网页访问功能 利用tomcat容器实现对servlet jsp 的管理。
  • 本套课程特色是严格按照Java EE 8规范,全面系统的讲解了Java Web开发技术。 根据多年项目实践,Java EE 8实用性技术会着重强调,不常用技术一带而过。课程中采用了大量的项目案例来讲解相关复杂理论,并用企业级...
  • 《项目实践精解:ASP.NET应用开发(基于ASP.NET、C#和ADO.NET的三层架构案例分析)》通过丰富的项目实践案例和深入浅出的讲解,引领读者学习了ASENET应用完整的开发体系,以及ASP.NET、C#和ADO.NET等各个组件在多层架构...
  • JavaWeb应用系统开发实训任务(一)

    千次阅读 2018-06-25 20:34:31
    请根据上述项目背景描述进行上机操作,完成Web应用系统的开发任务。 任务一    在数据库管理系统MySql中创建社区幼儿学校管理系统的数据库db_ks,并按照以下数据库设计创建出所有的数据库表。 社区幼儿医院管理系统...

    项目描述:

    随着家长对孩子教育的日渐重视,社区幼儿学校在国内逐渐兴起,对社区幼儿学校的信息化管理成为迫切需求。社区幼儿学校管理系统需要实现以下功能:

    1)  教师管理:实现对教师信息的查询、删除、增加(姓名、所教课程)

    2)  家长管理:实现对家长信息的查询、删除、增加(姓名、电话、地址)

    3)  幼儿管理:实现对幼儿信息的查询、删除、增加(姓名、生日、照片)

    4)  上课管理:实现对上课信息的查询、增加(上课时间、内容、效果)

    请根据上述项目背景描述进行上机操作,完成Web应用系统的开发任务。

    任务一                         

        在数据库管理系统MySql中创建社区幼儿学校管理系统的数据库db_ks,并按照以下数据库设计创建出所有的数据库表。

    社区幼儿医院管理系统的数据库设计如表1-1至1-6所示:


    表1-1 用户表t_user

    列名

    类型

    是否主键

    允许

    为空

    是否

    自增长

    描述

    id

    int

    用户id

    role

    varchar(45)

    角色(admin系统管理员、parents家长)

    name

    varchar(45)

    用户名

    pwd

    varchar(45)

    密码

    tel

    varchar(45)

    电话

    address

    varchar(256)

    地址


    表1-2 教师表t_teacher

    列名

    类型

    是否主键

     

    允许

    为空

    是否

    自增长

    描述

    id

    int

     

    教师id

    name

    varchar(45)

     

    教师名


    表1-3 课程表t_course

    列名

    类型

    是否主键

    允许

    为空

    是否

    自增长

    描述

    id

    int

    课程id

    name

    varchar(45)

    课程名

    desc

    varchar(256)

    课程描述


    表1-4 教师课程关系表t_teacher_course

    列名

    类型

    是否主键

    允许

    为空

    是否

    自增长

    描述

    teacherId

    int

    教师id

    courseId

    int

    课程id


    表1-5 幼儿表t_kid

    列名

    类型

    是否主键

    允许

    为空

    是否

    自增长

    描述

    id

    int

    幼儿id

    name

    varchar(45)

    幼儿名

    birthdate

    varchar(45)

    生日

    photo

    varchar(128)

    照片

    parentsId

    int

    家长id(t_user表主键)


    表1-6 上课表t_teaching

    列名

    类型

    是否主键

    允许

    为空

    是否

    自增长

    描述

    id

    int

    用户id

    kidId

    int

    幼儿Id

    teacherId

    int

    教师Id

    teachDate

    varchar(45)

    上课时间

    content

    text

    上课内容

    effect

    text

    上课效果

            任务一的功能是建立数据库表,只要按照表中的信息来建立就可以了。

    任务二

    项目结构


    实现用户登录功能的开发任务,在页面输入用户名、密码、验证码后,点击【登录】按钮,能自动提交用户登录验证请求,验证成功后自动跳转到教师管理页面

    1 使用Eclipse新建一个Dynamic Web Project 项目,项目命名为KidSchool

    操作说明:

    2在项目源码web目录下的用户登录页面index.jsp,实现用户登录页面的jsp代码在项目源码web目录下添加样式表文件styles.css,web目录下新建一个inc目录,并在inc目录下添加页头文件header.inc和页脚文件footer.inc

    操作说明:

    1)在右侧项目资源视图中,选择web目录的默认登录页面index.jsp,编写实现该页面的JSP代码

    2)在右侧项目资源视图中,选择web目录,选择右键菜单New,选择StyleSheet创建样式表文件styles.css,再选择File创建普通文件header.inc和footer.inc,编写以上新创建文件的代码

    index.jsp

    <%@ 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>登录页面</title>
      <link href="styles.css" rel="stylesheet"/>
    </head>
    <body>
    <div>
      <div id="header">
        <h1>社区幼稚园管理系统</h1>
      </div>
      <div id="main">
        <form action="LoginServlet" method="post">
          <table>
            <tr>
              <td>姓名</td>
              <td><input name="username" /></td>
            </tr>
            <tr>
              <td>密码</td>
              <td><input  type="password" name="pwd"/></td>
            </tr>
            <tr>
              <td>验证码</td>
              <td><input name="usercode" /></td>
            </tr>
            <tr>
              <td>点击刷新</td>
              <!-- 为了避免IE的缓存bug  需要每次请求带上不一样的参数 这个参数可以没有任何意义  关键是要不一样 -->
              <td><img src="CheckCode"   οnclick="this.src='CheckCode?rand='+Math.random()"/></td><!-- /在html和转发Dispatcher里面的含义不同  前者表示服务器根目录  8080:/   后者表示当前应用根目录 8080/ph/ -->
            </tr>
            <tr>
              <td></td>
              <td><input  type="submit" value="登录" /> <input type="reset" value="重置"/></td>
            </tr>
          </table>
    
        </form>
        <h4 align="center" style="color:red"><%=request.getAttribute("msg")==null?"":request.getAttribute("msg") %>
          <%=request.getParameter("para")==null?"":request.getParameter("para") %></h4>
      </div>
      <div id="footer">
        <%@ include  file="inc/footer.inc"%>
      </div>
    </div>
    </body>
    </html>

    style.css

    /* CSS Document */
    /*
    	对于CSS来说  每一个元素默认的margin和padding就是0px。但是不同的浏览器会有一个默认的浏览器样式修改默认的margin padding。所以在使用自定义样式编程前加上  *{ }重新设置margin和padding为0px,覆盖浏览器样式使得各个浏览器下统一。
    */
    *{
        margin:0px;
        padding:0px;
        font-weight: bold;
    }
    /*a {*/
    /*color:black;*/
    /*text-decoration: none;*/
    /*}*/
    
    a:link,
    a:visited     {
        color:#FF0000;
        text-decoration:underline;
    }
    a:hover,
    a:active    {
        color: #5cffeb;
        text-decoration:none;
    }
    /*
    	ID选择器   以#开始  用来匹配元素的id值
    */
    #header{
        height:160px;
        background-color:#0033FF;
        position:relative;
    }
    
    /*后代选择器  在多个选择器之间加入空格表示后代选择器 用来匹配元素的包含关系
    	标签选择器  直接使用标签本身来匹配元素
    */
    
    #header h1{
        color:#FFFF00;
        font-size:48px;
        padding-top:40px;
        width:300px;/*  通过设置margin的左右为auto可以实现居中,前提是被居中元素指定宽度*/
        margin:0px auto;
    }
    
    /*   #header  a:first-child   #header 里面所有是一个子元素的链接
    	#header > a:first-child  #header的直接子元素中的第一个a
    */
    
    #header > a:first-child{
        /*float:right;*/
    
        position:absolute;
        right:15px;
        top:10px;
    }
    /*
    	所有元素默认的postion是static,其特点按照在文档中的先后顺序进行排列
    	position:absolute  绝对布局,其特点相对于最近一个已定位(absolute/relative )父元素进行定位,如果没有这样的父元素就相对于body。通过top bottom left right控制
    	position:relative  相对布局  其特点是相对于元素本来的位置进行位移  。通过top bottom left right控制,如果吗,没有位移量,其显示还是在原来的位置,但是性质已经变成定位元素。
    */
    
    
    
    #header .menu{
        position:absolute;
        bottom:5px;
    }
    
    #header .menu li{
        float: left;
        margin-left:15px;
        list-style-type:none
    }
    #main{
        min-height:500px;
        background-color:pink;
    }
    
    
    
    #main table ,#main h4{
        width:360px;
        margin:0px auto;
    }
    
    .minWidth{
        min-width:240px;
    }
    
    #main table{
        padding-top:60px;
    }
    #main table .result{
        background-color: white;
        text-align: center;
    }
    #main input,#main img[src='CheckCode']{
        width:150px;
        height:24px;
    }
    
    #main textarea{
        width: 150px;
        height: 96px;
    }
    /*
    	每个id选择器算100 类 伪类算10  标签选择器算1  将所有的值相加就是优先级
    */
    #main tr:last-child input{
        width:auto;
        padding:0 10px;
    }
    
    
    #footer{
        background-color:#0033FF;
        height:80px;
    }
    
    
    #footer p{
        color:red;
        font-size:20px;
        padding-top:40px;
        width:800px;/*  通过设置margin的左右为auto可以实现居中,前提是被居中元素指定宽度*/
        margin:0px auto;
    }

    inc目录下的header.inc和footer.inc

      header.inc

    <%@ page pageEncoding="UTF-8"%>
        <a href="QuitServlet">退出</a>
        <a href="">修改密码</a>
        <h1>社区幼稚园</h1>
        <ul class="menu">
        <li><a href="teacherSearch.jsp">教师管理</a></li>
        <li><a href="">家长管理</a></li>
        <li><a href="">幼儿管理</a></li>
        <li><a href="courseAdd">课程管理</a></li>
    </ul>
    footer.inc
    <%@ page pageEncoding="UTF-8"%>
    <p>作者:Black_YeJing 单位:XXXXXXX 邮箱:2147807609@qq.com</p>

     .......

    展开全文
  • 1.1 开发环境及安装配置... 2 1.2项目需求分析... 2 二.程序概要设计... 3 2.1功能模块、流程... 3 2.2 功能结构分析... 3 2.3 文件结构分析、数据库设计... 4 三.程序详细设计... 6 3.1选择登录界面及账号...
  • 用于帮助有编写《Java Web应用开发技术》教学大纲的人
  • JavaWeb开发与代码的编写(二十一) 文件上传和下载  在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现。  对于文件上传,浏览器在上传的过程中是将...
  • 书中内容注重理论与实践相结合,列举了大量具有典型性和实用价值的Web应用实例,并提供了详细的开发和部署步骤。由于Java Web技术是SUN公司在Java Servlet规范中提出的通用技术,因此本书讲解的Java Web应用例子可以...
  • 孙卫琴《TomcatJava Web开发技术详解》第二版光盘完整源代码,共33章,本人也在学习,代码可以直接运行,共33章的代码,完整版
  • java web开发——购物车功能实现

    万次阅读 2017-10-19 10:56:35
    之前没有接触过购物车的东东,也不知道购物车应该怎么做,所以在查询了很多资料,总结一下购物车的功能实现。查询的资料,找到三种方法:1.用cookie实现购物车;2.用session实现购物车;3.用cookie和数据库(购物车...
  • Java web 应用与开发教程 宋波版 课件
  • 随着对java学习的深入,已经学习到了javaweb引用开发,处于对此项开发技术的兴趣,决定来自己动手实现一个超市管理系统.对于此项工程也感兴趣的同学可以参考以下过程自己来动手实践. 开发此项目需要建立数据库和获取...
  • JavaWeb开发与代码的编写(五) Jsp JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术。 JSP这门技术的最大的特点在于,写jsp就像在写html,但它相比html而言,...
  • 18章 JSP Web应用的设计与实践 19章 MVC模式实现----Struts2 20章 MVC模式实现----WebWork2 21章 JavaServer Faces技术 22章 JSP结合EJB开发J2EE应用 23章 使用Log4j进行Web应用的日志管理程序调试 24章 使用...
  • 通过本课程的学习,可以将JavaWeb知识综合运用,设计并实现一个日记分享网站。按照项目开发周期来展开,每一个阶段都能够有所收获,慢慢地提升自己,遇到程序Bug时候的调试方法,积累...Servlet应用开发-基础入门篇等。
  • Java Web开发源码弹簧框架 Spring是最流行的企业Java应用程序开发框架。 全球数以百万计的开发人员使用Spring ...Spring框架旨在通过启用基于POJO的编程模型来使J2EE开发更易于使用并促进良好的编程实践
  • 之前一直在自己学习Javaweb的基础知识,比如学了servlet,jsp,jdbc,jstl等,输入做个实践但是都限于使用一类技术去进行巩固,即使是都用到了一些也是小作坊式的,没有条理章法。在为期五天的项目实践中让我将所有...
  • 踏入工作,走进Java开发“不归路”,发现还是不能落下它。 计算机网络相关的知识点是在面试过程中开发者经常被问到。当然可能这一块知识点前面的操作系统、数据库相比较比重可能没那么高。但是优秀的你,一定是想...
  • 我一朋友之前在快手做Java开发,他自己认识的一朋友在阿里工作,现在已经是P8级别了,所以他也管这位P8大佬要来了他之前的一些学习笔记,在这里分享给大家,看看自己还缺乏哪些技术栈吧。 下面会介绍到P8大佬用的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,743
精华内容 1,497
关键字:

javaweb应用开发与实践

java 订阅