要求:

链接:https://pan.baidu.com/s/15NdAt-aiv-X9sRbMSfXYXQ 
提取码:7agw

web模板:

链接:https://pan.baidu.com/s/1Af33mSflqFHj-1gj4sOOpw 
提取码:wpye

对于这个web模板的修改是以测试的形式进行的,以前只是从零开始写一些简单的网页,没有接触过在模板的基础上修改网页,刚刚看到要求时,不知道从哪下手。

测试过后,感觉先了解模板的基本架构很重要,然后再按照要求去修改。我没有完成全部要求,只实现了一些,在编码的过程中遇到了许多问题,有的还待解决,以

后会进一步学习并解决问题。

模板的登录界面

登录的servlrt路径在login.html中已给出,下图

登录用的servlet

package com.Servlet;

import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.DBUtil.DBUtil; public class LoginServlet extends HttpServlet{
private static final long serialVersionUID = 1L; //当从jsp跳转到servlet类时,首先执行service函数(这是定理)
protected void doGet(HttpServletRequest req,HttpServletResponse resp)throws ServletException,IOException {
req.setCharacterEncoding("UTF-8");//设置字符集,避免乱码
String username = req.getParameter("user");//获取jsp界面的username1和password1的值
String password = req.getParameter("pwd"); Connection conn = DBUtil.getConn();//这里就是从DBUtil类里面得到连接
Statement state =null;
ResultSet rs = null;
int f=0;
try
{
String sql = "select * from user";//SQL语句
state = conn.createStatement();
rs=state.executeQuery(sql);
while(rs.next())
{ if(rs.getString("password").equals(password) && rs.getString("username").equals(username))
{
f=1; }
}
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
DBUtil.close(rs, state, conn);
} if(f==1)
{
System.out.println("登录成功!");
resp.sendRedirect(req.getContextPath()+"/main.html");
}
else
{
System.out.println("登录失败!");
resp.sendRedirect(req.getContextPath()+"/login.html");
}
} }

将该servlet的路径配置成上面所看到的路径

下面是xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
<display-name>WJDC_web</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>CreateUserServlet</servlet-name>
<servlet-class>com.Servlet.CreateUserServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CreateUserServlet</servlet-name>
<url-pattern>/CreateUserServlet/CreateUserServlet</url-pattern>
</servlet-mapping> <servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>com.Servlet.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/dengluServlet</url-pattern>
</servlet-mapping>
</web-app>

注册界面的jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html> <%@page import="com.Servlet.*"%>
<%@page import="com.Bean.*"%>
<%@page import="com.DBUtil.*"%>
<%@page import="com.Servlet.*"%>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css"> </style>
</head>
<body> <div class="colorcloth">
<div class="container">
<section>
<form action="${pageContext.request.contextPath}/CreateUserServlet/CreateUserServlet" method="post" onsubmit="return check()">
<!---${pageContext.request.contextPath}的目的是找到主工程的名字,/Servlet/Userservlet就是web.xml下面配置的路径,也就是servlet的路径--->
<span class="user">用户名</span>
<input type="text" name="user" class="buser" id="iuser" placeholder=" Usename">
<br/>
<span class="password">密码</span>
<input type="password" name="password" class="bpassword" id="ipassword" placeholder=" Password">
<br/>
<span class="again-password">确认密码</span>
<input type="password" name="again-password" class="bagain-password" id="iagain-password" placeholder=" Password">
<br/>
<span class="phone">手机号码</span>
<input type="text" name="phone" class="bphone" id="iphone" placeholder=" Phone">
<br/>
<span class="unit">所属单位</span>
<input type="text" name="unit" class="bunit" id="iunit" placeholder=" Unit">
<br/>
<input type="submit" value="创建" class="butn">
</form>
</section> <c:if test="${param.createerrortemp.equals('1') }">
<div class="createerror" id="icreateerror">
<p>两次输入的密码不一致</p>
</div>
</c:if> </div>
</div> <script type="text/javascript"> function check() { var username = document.getElementById("iuser");
var password = document.getElementById("ipassword");
var againpassword = document.getElementById("iagain-password");
var phone = document.getElementById("iphone");
var unit = document.getElementById("iunit"); var changdu = phone.value.length; //非空
if(username.value == '') {
alert('用户名为空');
username.focus();
return false;
}
if(password.value == '') {
alert('密码为空');
password.focus();
return false;
}
if(againpassword.value == '') {
alert('第二次输入密码为空');
againpassword.focus();
return false;
}
if(phone.value == '') {
alert('电话号码为空');
phone.focus();
return false;
} if(changdu != 11){
alert('电话号码长度错误');
phone.focus();
return false;
} if(unit.value == '') {
alert('所属单位为空');
unit.focus();
return false;
} if(password.value != againpassword.value) {
alert('密码不一致');
password.focus();
return false;
} } </script> </body>
</html>

注册所用的servlet

package com.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 com.Dao.*; public class CreateUserServlet extends HttpServlet {
private static final long serialVersionUID = 1L; //当从jsp跳转到servlet类时,首先执行service函数(这是定理)
protected void service(HttpServletRequest req,HttpServletResponse resp)throws ServletException,IOException {
req.setCharacterEncoding("UTF-8");//设置字符集,避免乱码 String username = req.getParameter("user");
String password = req.getParameter("password");
String againpassword = req.getParameter("again-password");
String phone = req.getParameter("phone");
String unit = req.getParameter("unit"); if(!(password.equals(againpassword))) {
resp.sendRedirect(req.getContextPath()+"/register.jsp?createerrortemp=1");
}
else {
Dao dao = new Dao();
dao.createUser(username, password, phone, unit);
resp.sendRedirect(req.getContextPath()+"/main.html");
}
}
}

Dao文件

package com.Dao;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List; import com.Bean.*;
import com.DBUtil.DBUtil; public class Dao { //创建账户
public int createUser(String usernamee, String passwordd, String phonee, String unitt) { String username = usernamee;
String password = passwordd;
String phone = phonee;
String unit = unitt; Connection conn = DBUtil.getConn();//这里就是从DBUtil类里面得到连接
Statement state =null;
String sql = null; sql = "insert into user (username,password,phone,unit) values ('"+username+"','"+password+"','"+phone+"','"+unit+"')"; try {
state = conn.createStatement();
state.executeUpdate(sql);//执行sql语句
conn.close();
} catch (SQLException e) {
e.printStackTrace();
} return 0;
} }

对于系统菜单那一块的代码还是没弄明白,之后会继续学习,往下进行

在Java web模板的上进行编写的更多相关文章

  1. JAVA WEB快速入门之从编写一个基于SpringBoot+Mybatis快速创建的REST API项目了解SpringBoot、SpringMVC REST API、Mybatis等相关知识

    JAVA WEB快速入门系列之前的相关文章如下:(文章全部本人[梦在旅途原创],文中内容可能部份图片.代码参照网上资源) 第一篇:JAVA WEB快速入门之环境搭建 第二篇:JAVA WEB快速入门之 ...

  2. java web+模板

    这次测试需要在java web的基础上套入模板,在测试的过程中我遇到了许多问题,现在我可以使用模板来美化网页的许多格式.但是模板的许多代码我还是看不懂,其中有jquery的许多代码.在今后我会学习相关 ...

  3. JAVA WEB快速入门之从编写一个基于SpringMVC框架的网站了解Maven、SpringMVC、SpringJDBC

    接上篇<JAVA WEB快速入门之通过一个简单的Spring项目了解Spring的核心(AOP.IOC)>,了解了Spring的核心(AOP.IOC)后,我们再来学习与实践Maven.Sp ...

  4. java web(四)文件上传与下载

     一.文件上传原理 1.在TCP/IP中,最早出现的文件上传机制是FTP ,它是将文件由客户端发送到服务器的标准机制:但是在jsp使用过程中不能使用FTP方法上传文件,这是由jsp运行机制所决定. 通 ...

  5. JAVA WEB快速入门之从编写一个JSP WEB网站了解JSP WEB网站的基本结构、调试、部署

    接上篇<JAVA WEB快速入门之环境搭建>,在完成了环境搭建后(JDK.Tomcat.IDE),现在是万事具备,就差写代码了,今天就来从编写一个JSP WEB网站了解JSP WEB网站的 ...

  6. java+web+大文件上传下载

    文件上传是最古老的互联网操作之一,20多年来几乎没有怎么变化,还是操作麻烦.缺乏交互.用户体验差. 一.前端代码 英国程序员Remy Sharp总结了这些新的接口 ,本文在他的基础之上,讨论在前端采用 ...

  7. java web学习总结(二十三) -------------------编写自己的JDBC框架

    一.元数据介绍 元数据指的是"数据库"."表"."列"的定义信息. 1.1.DataBaseMetaData元数据 Connection.g ...

  8. Java WEB ----- 文件的上传

    最近学到的web阶段的文件的上传,就想记录一下,帮助自己复习以及帮助大家学习,一般我都会把上传的文件存到服务器中的web-inf 下面,因为这样用户不会直接访问到,我们存到数据库的一般都是路径.这里没 ...

  9. Java Web(十一) 文件上传与下载

    文件上传 上传的准备工作 表单method必须为post 提供file组件 设置form标签的enctype属性为multipart/form-data,如果没有设置enctype属性,浏览器是无法将 ...

随机推荐

  1. mybatis字段映射枚举类型

    在底层使用mybatis的时候,我们可能会需要把表里的字段映射到Java里面的枚举类,现总结下工作中的用法: sku表里一个status_type字段为int类型.(这里是postgresql的脚本) ...

  2. 异步任务报错-Celery: WorkerLostError: Worker exited prematurely: signal 9 (SIGKILL)

    现象: 异步任务: 测试环境正常,线上环境报错 使用celery 进行后端异步任务时,报错: Celery: WorkerLostError: Worker exited prematurely: s ...

  3. gym102215题解

    A Rooms and Passages 题意 给n个数,从起点出发,一直往右走,遇到一个前面出现过其相反数的正数就停下,问对于每个起点都能走多少步. 分析 倒着递推,如果起点是正数,那么肯定可以走, ...

  4. Gogs官方帮助文档

    环境要求 数据库(选择以下一项): MySQL:版本 >= 5.7 PostgreSQL MSSQL TiDB(实验性支持,使用 MySQL 协议连接) 或者 什么都不安装 直接使用 SQLit ...

  5. 093、如何用Graylog 管理日志? (2019-05-17 周五)

    参考https://www.cnblogs.com/CloudMan6/p/7821817.html   上节我们已经部署好了 Graylog ,现在学习如何使用他来管理日志.   首先运行测试容器, ...

  6. 092、部署Graylog日志系统(2019-05-16 周四)

    参考https://www.cnblogs.com/CloudMan6/p/7808708.html   Graylog 是与 ELK 可以相提并论的一款几种式日志管理方案,支持数据收集.检索.可视化 ...

  7. SQL注入的一些技巧分享

    先上一道简单的ctf注入题: 一道利用order by进行注入的ctf题 很不错的一道利用order by的注入题,之前不知道order by除了爆字段还有这种操作. 原题地址:http://chal ...

  8. 表格强制换行 table-layout:fixed

    如果想要一个table固定大小,里面的文字强制换行(尤其是在一长串英文文本,并且中间无空格分隔的情况下),以达到使过长的文字不撑破表格的目的,一般是使用样式:table-layout:fixed.

  9. 利用ARouter实现组件间通信,解决子模块调用主模块问题

    如果你还没使用过ARouter请你按照这篇下面博客尝试使用下然后再往下看组件通信的内容(不然的话可能会懵逼)Android Studio接入ARouter以及简单使用 如果你使用过ARouter请继续 ...

  10. Java学习笔记-----eclipse中建立Java项目并成功运行

    环境:WIN7 64位 +eclipse 2018 12version 具体方法:https://jingyan.baidu.com/album/9c69d48fefa53113c9024eb3.ht ...