简易信息管理系统——增删改查知识总结

到公司两个礼拜了,也没有接触到实质性的项目,由于基础比较薄弱,对Java框架也没有使用过,所以先熟悉基本的流程,领导暂时分配的就是读取数据库中的信息,然后对数据以表格的形式,进行简单的增删改查,然后逐渐增加难度,由浅入深,真的挺人性化的。下面我就以一个我做的例子为例(该例子也是参考网上的某个前台界面,不过略有改动)粗略的说一下整个项目的流程:

1.搭建环境

刚开始什么JDK啊,jre啊,tomcat啊,myeclipse啊,mysql,sqlserver等等,这些相关软件的安装和配置我就不多说了,这些网上博客,论坛都已经写的烂透了。所以我直接从项目的结构搭建开始说起吧,首先说一下我用的环境:myeclipse10,jdk1.7(jre),tomcat7,mysql5.5,偶尔也会用sql server2008,总之数据库的更换其实对基础学习阶段并没有太多的影响,只不过是JDBC的配置(url,user,password)一些改变。

框架的整体结构如下:细节说明。项目名称:StudentManagerWeb。采用MVC模式,M:model中定义数据的单元属性和基本的get(),set()方法;V:采用JSP技术,嵌入html语言。C:控制层在controll中,业务逻辑的编写。

读程序流程:Step1:查找到WEB-INF下面的web.xml文件,打开之后查看welcome字段,寻找项目的起始页面。

web.xml代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<!-- 登陆首页 -->
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
<!-- 项目配置 -->
<servlet>
<servlet-name>CheckManagerServlet</servlet-name>
<servlet-class>com.dw.controll.CheckManagerServlet</servlet-class>
</servlet>
<servlet>
<!-- 啊,这里面ShowAllServlet的类名,服务名叫showAllStudentsServlet,所以在调用的时候用的就是showAllStudents? -->
<servlet-name>showAllStudentsServlet</servlet-name>
<servlet-class>com.dw.controll.ShowAllServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>AddStudentServlet</servlet-name>
<servlet-class>com.dw.controll.AddServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>DelStudentServlet</servlet-name>
<servlet-class>com.dw.controll.DeleteServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>UpdateStudentServlet</servlet-name>
<servlet-class>com.dw.controll.UpdateServlet</servlet-class>
</servlet>
    <servlet>
<servlet-name>PreServlet</servlet-name>
<servlet-class>com.dw.controll.PreServlet</servlet-class>
</servlet>
<servlet>
       <servlet-name>LoginServlet</servlet-name>
       <servlet-class>com.dw.controll.LoginServlet</servlet-class>
    </servlet>
    <servlet>
    <servlet-name>SearchByIdServlet</servlet-name>
    <servlet-class>com.dw.controll.SearchByIdServlet</servlet-class>
    </servlet>


<!-- mapping映射 -->
<servlet-mapping>
<servlet-name>CheckManagerServlet</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>showAllStudentsServlet</servlet-name>
<url-pattern>/showAllStudents</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AddStudentServlet</servlet-name>
<url-pattern>/stadd</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>DelStudentServlet</servlet-name>
<url-pattern>/stdelete</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>UpdateStudentServlet</servlet-name>
<url-pattern>/stupdate</url-pattern>
</servlet-mapping>
    <servlet-mapping>
<servlet-name>PreServlet</servlet-name>
<url-pattern>/pre</url-pattern>
</servlet-mapping>
   <servlet-mapping>
      <servlet-name>LoginServlet</servlet-name>
      <url-pattern>/login</url-pattern>
   </servlet-mapping>
  <servlet-mapping>
    <servlet-name>SearchByIdServlet</servlet-name>
    <url-pattern>/searchById</url-pattern>
  </servlet-mapping>
<!-- filter过滤器解决中文乱码 -->
<filter>
<filter-name>EncodingFilter</filter-name>
<filter-class>com.dw.filter.EncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>EncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>


<!--CheckLoginFilter用于解决安全登录  --><!--
<filter>
<filter-name>login</filter-name>
<filter-class>com.dw.filter.CheckFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>login</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
--></web-app>

查看到login.jsp页面之后打开。代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8" import="com.dw.model.*,java.net.*" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<%
if(request.getAttribute("user")==null){
String username=null;
String password=null;

Cookie[] cookies=request.getCookies();
for(int i=0;cookies!=null && i<cookies.length;i++){
if(cookies[i].getName().equals("user")){
username=URLDecoder.decode(cookies[i].getValue().split("-")[0],"UTF-8");
password=URLDecoder.decode(cookies[i].getValue().split("-")[1],"UTF-8");
}
if(username==null){
username="";
}

if(password==null){
password="";
}

pageContext.setAttribute("username", username);
pageContext.setAttribute("password", password);
}
}
%>
<title>登录页</title>
  <!-- 注册js、css样式 -->
       <script type="text/javascript" src="${pageContext.request.contextPath}/jquery/jquery-1.5.1.js"></script>
       <script type="text/javascript" src="${pageContext.request.contextPath}/js/login.js"></script>
       <link href="${pageContext.request.contextPath}/bootstrap/css/bootstrap.css" rel="stylesheet">
       <link href="${pageContext.request.contextPath}/bootstrap/css/bootstrap-responsive.css" rel="stylesheet">
       <script src="${pageContext.request.contextPath}/bootstrap/js/bootstrap.js"></script>
       <!--  前台页面,写验证码图片方法 -->
       <script type="text/javascript">
         function loadImage(){
    document.getElementById("randImage").src = "${pageContext.request.contextPath}/image.jsp?"+Math.random(); //Math.random()方法非常重要,它使每次的请求都不同以便重新发送。如果每次的请求都一样,那么不会重新生成页面
         }
       </script>
<style type="text/css">
body {
padding-top: 40px;
padding-bottom: 40px;
background-color: #ffff9f;
}


body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,p,blockquote,th,td
{
margin: 0;
padding: 0;
}


.form-signin {
max-width: 600px;
padding: 129px 29px 129px;
margin: 0 auto 20px;
background-color: #f90;
border: 1px solid #e5e5e5;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
}


.form-signin .form-signin-heading,.form-signin .checkbox {
margin-bottom: 15px;
}


.form-signin input[type="text"],.form-signin input[type="password"] {
height: auto;
margin-bottom: 15px;
padding: 7px 9px;
}


h1 {
color: #fff;
background: #06b;
padding: 10px;
font-size: 200%;
text-align: center;
}
.labelError{line-height: 9px; font-size: 10pt; color: #f40000; border: 1px #ffb8b8 solid; padding: 8px 8px 8px 35px; background: url(/StudentManagerWeb/images/error.png) no-repeat; background-color: #fef2f2;}
</style>
</head>


<body>
<div>
<form class="form-signin" action="login" method="post" onSubmit="return check()">
<h2 class="form-signin-heading">管理员登录</h2>
<hr>
   <table>
           <tr>
                    <td ></td>            
                <td><font color="red">${error }</font></td>
                <td></td>    
           </tr>
   
           <tr>
                    <td align="right">用户名:</td>            
                <td><input type="text" name="username" id="username" class="input" value="${username} "></td>
                <td><label class="labelError" id="usernameError"></label></td>    
           </tr>
           
            <tr>
                    <td align="right">密码:</td>            
                <td><input type="password" name="password" id="password" class="input" value="${password }"></td>
                <td><label class="labelError" id="passwordError"></label></td>    
           </tr>
           
           <tr>
                    <td align="right">验证码:</td>            
                <td><input type="text" name="imageValue" size="50px" id="imageValue" class="input" value="${verifyCode }"></td>
                <td><label class="labelError" id="imageValueError"></label></td>  
           </tr>
           
           
            <tr>
                    <td ></td>            
                <td>
                 <img onClick="javascript:loadImage();"  title="换一张试试" id="randImage" 
         src="${pageContext.request.contextPath}/image.jsp" width="100" height="2" border="1" align="middle"></td>
                <td> </td>    
           </tr>
           <tr>
                    <td ></td>            
                <td colspan="2"><label class="checkbox"><input id="remember" name="remember" type="checkbox" value="remember-me">记住我一周 &nbsp;&nbsp;&nbsp;&nbsp;  </label></td>
                <td></td>    
           </tr>
           <tr>
                    <td ></td>            
                <td><button type="submit"  class="btn btn-primary">登陆</button> 
                    <input type="reset" class="btn btn-primary" value="重写"/>
                </td>
                <td></td>    
           </tr>
   </table>
</form>
</div>
</body>
</html>

效果图:


<form class="form-signin" action="login" method="post" onSubmit="return check()">

大家应该注意到这段代码,当用户点击登录的时候,就action一个servlet方法,即login。method是指你servlet里的dopost还是doget方法调用。找到该函数后又根据指定的跳转界面语言,控制页面的转换和数据的交互。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值