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

来源:转载


到公司两个礼拜了,也没有接触到实质性的项目,由于基础比较薄弱,对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方法调用。找到该函数后又根据指定的跳转界面语言,控制页面的转换和数据的交互。



分享给朋友:
您可能感兴趣的文章:
随机阅读: