1.MyEclipse|File|New|Project|Web Project    填写Project Name:exServlet,点选Java EE 6.0(配套Tomcat7.0)

2.代码结构如下:

3.修改index.jsp页面,完整代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>火车票订票系统</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head> <body>
<!-- 界面布局 -->
<div align="center">
<div class="style">
<table width="1024" height="150" cellpadding="0" cellspacing="0" >
<!-- 动态首页订票界面 同时获取年月日和动态滚动消息 -->
<tr>
<td colspan="2">
<img src="./images/logo.jpg" alt="logo" width="1024" height="149">
</td>
</tr>
<tr>
<td width="205" bgcolor="#b7d7ec">
<p align="center">
<!-- 注意:方法today.getYear()已经过时,需要添加1900 -->
<script language=JavaScript>
today = new Date();
function initArray(){
this.length=initArray.arguments.length;
for(var i=0;i<this.length;i++)
this[i+1]=initArray.arguments[i]; }
var d=new initArray(
"星期日","星期一","星期二","星期三","星期四", "星期五","星期六");
document.write("<font color=##ff0000 style='font-size:12pt;font-family: 宋体'> ",
today.getYear()+1900,"年",today.getMonth()+1,"月",today.getDate(),"日 ",d[today.getDay()+1],
"</font>" );
</script>
</p>
</td>
<td width="819" bgcolor="#b7d7ec">
<marquee direction="left" onmouseover=this.stop() onmouseout=this.start() scrollAmount=3 scrollDelay=100>
<FONT style="FONT-SIZE: 18px"color=blue>欢迎使用火车票订票系统管理系统 ,如有不足,敬请指导!</FONT>
</marquee>
</td>
</tr>
</table>
</div> <table width="100%" height="75%" border="0" align="center">
<tr>
<td width="40%" height="20%"> </td>
<td width="20%" >
<!-- 中间登录部分布局 提交表单 配置web.xml -->
<form action="loginAction.do">
<table width="500" height="80%" border="2" bordercolor="#12A0F5" bgcolor="#dfeaf1">
<tr>
<td></td>
<td align="center"><br />系统管理员登录 <br/><br/>
用户名:<input type="text" name="userid" size="19" maxlength="19" /><br/><br/>
密 码:<input type="password" name="password" size="20" maxlength="19" /><br /><br />
<input type="submit" name="Submit" value="登录"/>
<input type="reset" name="Submit" value="重置" /><br/>
</td>
<td></td>
</tr>
</table>
</form>
</td>
<td width="40%"></td>
</tr>
<tr><td height="67" colspan="3">
<!-- 底部版权所有界面 -->
<TABLE class=wrapper border=0 cellSpacing=0 cellPadding=0 width="100%" align=center>
<TBODY>
<TR>
<TD style="LINE-HEIGHT: 150%" align="center">
<HR style="WIDTH: 96%; HEIGHT: 4px; COLOR: #02457c">
<font size="2"> <SCRIPT language=javascript src=""></SCRIPT>
<!-- target=_blank开启新的网页 -->
<BR><A href="aboutme.jsp" target=_blank>关于我们</A> | <A href="wzsm.jsp">网站声明</A>
<BR>版权所有&copy;2014-2015 北京理工大学 Eastmount <BR>京ICP备10009636号 </font>
</TD>
</TR>
</TBODY>
</TABLE>
</td>
</tr>
</table>
</div>
</body>
</html>

4.新建图片、样式文件夹,并导入图片,书写样式文件代码,代码如下:

.main {
width: 1024px;
text-align:left;
}
.font {
font-family: "Trebuchet MS";
font-size: 14px;
font-weight: bold;
color: #FFFFFF;
}
.div {
margin: 0px;
padding: 0px;
width: 1014px;
}
.tdBgColor{
background-color:#6b1101;
}
a{
font-family: "Trebuchet MS";
font-size: 14px;
font-weight: bold;
color: #FFFFFF;
line-height:50px;
text-decoration:none; }
a.hover{
font-family: "Trebuchet MS";
font-size:14px;
font-weight: bold;
color:#0000FF;
line-height:50px;
text-decoration:underline;
padding-bottom:1px; }
a.visited{
font-family: "Trebuchet MS";
font-size:14px;
font-weight: bold;
color:#000066;
line-height:50px;
text-decoration:none;
}
a.active{
font-family: "Trebuchet MS";
font-size:14px;
font-weight: bold;
color:#0000FF;
line-height:50px;
text-decoration:none;
padding-bottom:1px;
}

5.新建package、java代码文件(此处即为Servlet),代码如下:

package servlet;

import java.io.IOException;
import java.sql.*; //导入数据库处理所有库
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.swing.JOptionPane; //用户登录处理Servlet 系统登录主页处理表单
public class HomePageAction extends HttpServlet { private Connection cn=null; //定义数据库连接对象
private String driverName=null; //数据库驱动器
private String url=null; //数据库地址URL //初始化方法,取得数据库连接对象
public void init(ServletConfig config) throws ServletException
{
super.init(config);
driverName=config.getInitParameter("driverName");
url=config.getInitParameter("url"); try {
Class.forName(driverName);
cn=DriverManager.getConnection(url);
} catch(Exception e) {
System.out.println("取得数据库连接错误:"+e.getMessage());
}
} //处理GET请求方法
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
//取得用户注册表单提交的数据
String userid=request.getParameter("userid");
String password=request.getParameter("password");
//判断登录账号为空,则自动跳转到注册页面
if(userid==null||userid.trim().length()==0) {
response.sendRedirect("index.jsp");
JOptionPane.showMessageDialog(null, "User name or password can't be empty!");
}
//判断登录密码为空
if(password==null||password.trim().length()==0) {
response.sendRedirect("index.jsp");
JOptionPane.showMessageDialog(null, "User name or password can't be empty!");
}
//查询数据库和跳转到登录主界面
try {
//查询数据库操作 //跳转到主界面
response.sendRedirect("success.jsp");
} catch(Exception e) {
System.out.println("错误:"+e.getMessage());
response.sendRedirect("index.jsp");
}
} //处理POST请求方法
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
doGet(request,response);
} //销毁方法
public void destroy() {
super.destroy();
try {
cn.close();
}catch(Exception e) {
System.out.println("关闭数据库错误:"+e.getMessage());
}
}
}

6.修改配置文件web.xml,使index.jsp页面可以定位到java文件(Servlet),代码如下:(主要是<servlet>标签和<servlet-mapping>标签,其他标签无关紧要)

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name></display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list> <servlet>
<servlet-name>HomePageAction</servlet-name>
<servlet-class>servlet.HomePageAction</servlet-class>
<init-param>
<param-name>driveName</param-name>
<param-value>sun.jdbc.odbc.JdbcOdbcDriver</param-value>
</init-param>
<init-param>
<param-name>url</param-name>
<param-value>jdbc:odbc:cityoa</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>HomePageAction</servlet-name>
<url-pattern>/loginAction.do</url-pattern>
</servlet-mapping>
</web-app>

7.新建Servlet调用的返回页面success.jsp,代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>验证成功界面</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body>
界面表单提交跳转成功 <br>
<a href="index.jsp">返回</a>
</body>
</html>

8.效果图:

  返回界面:

总结调用路径:


引用出处:http://www.bkjia.com/ASPjc/995763.html

Servlet实现表单提交(MyEclipse10,Tomcat7.0,JDK1.7,)——Java Web练习(一)的更多相关文章

  1. Servlet实现数据库查询(MyEclipse10,Tomcat7.0,JDK1.7,)——Java Web练习(三)

    1.MyEclipse | New Web Project :TestServlet01,修改index.jsp的代码: <%@ page language="java" i ...

  2. Java EE之servlet处理表单提交的请求

    1.在源包下新建一个Servlet页,取名为LoginServlet: package weinidingServlet;                            //该Servlet所 ...

  3. 表单提交数据量大于2m,java 后台接受不到表单传递过来的数据

    一般来说 post请求提交的数据无大小限制,但是tomcat 设置默认的表单传输数据大小不能2m,这时候当数据大于2m后台接收达不到表单的数据,需要修改tomcat的server.xml的的maxPo ...

  4. JSP_DAO方式实现数据库查询(MyEclipse10,Tomcat7.0,JDK1.7,)——Java Web练习(四)

    1.项目结构: 2.创建数据库.表.插入记录 create database TestDao; use TestDao; create table student( stuid int, userna ...

  5. JSP表单提交与接收

    JSP表单提交与接收 在Myeclipse中新建web project,在webroot中新建userRegist1.jsp,代码如下 <%@ page contentType="te ...

  6. JSP怎么将表单提交到对应的servlet

    昨天学习了这些内容,今天做一下分享吧,个人感觉挺乱的....呵呵,其实没事,慢慢就好了.难的不会,会的不难嘛!努力+认真就可以了,相信大家都可以的!加油!!! 下面的图是我用myeclipse建立的项 ...

  7. Servlet的5种方式实现表单提交(注册小功能)

    Servlet的5种方式实现表单提交(注册小功能),后台获取表单数据   用servlet实现一个注册的小功能 ,后台获取数据. 注册页面: 注册页面代码 : <!DOCTYPE html> ...

  8. Servlet作业2-将表单提交的商品信息输出到页面中

    1,表单页面 shangpin.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8&qu ...

  9. Swift3.0服务端开发(二) 静态文件添加、路由配置以及表单提交

    今天博客中就来聊一下Perfect框架的静态文件的添加与访问,路由的配置以及表单的提交.虽然官网上有聊静态文件的访问的部分,但是在使用Perfect框架来访问静态文件时还是有些点需要注意的,这些关键点 ...

随机推荐

  1. 互联网 免费的WebService接口

    winform开发暂告于段落,最近再用webservice写接口,接下来的一段时间应该偏向于此方向. (转)一批的免费webservice接口,没有技术含量,只是写在这里做个记忆 股票行情数据 WEB ...

  2. jQuery获取Select选择的Text和 Value

    jQuery获取Select选择的Text和Value:语法解释:1. $("#select_id").change(function(){//code...});   //为Se ...

  3. php模拟POST请求提交数据

    php模拟POST请求提交数据 1.基于fsockopen function phppost00($jsonString){ $URL='https://www.jy.com/phppostok.ph ...

  4. quick-x 触摸事件的新方法

    --[[ local function onTouch(event, x, y) print(event, x, y) if event == "began" then retur ...

  5. github避免每次输入账户密码

    方法1: 显示所有隐藏目录,找到目录./git下的文件config文件,通过文本方式打开,在最前面添加如下两行.之后再次输入一次密码后就会记住账号密码. [credential]     helper ...

  6. JS中的call、apply、bind方法

    JS中的call.apply.bind方法 一.call()和apply()方法 1.方法定义 call方法: 语法:call([thisObj[,arg1[, arg2[,   [,.argN]]] ...

  7. Maven镜像配置

    镜像是为了提供更快的服务 如图:X就认为是Y的一个镜像. 编辑settings.xml配置中央仓库镜像: <settings> ... <mirrors> <mirror ...

  8. 【POJ2417】baby step giant step

    最近在学习数论,然而发现之前学的baby step giant step又忘了,于是去翻了翻以前的代码,又复习了一下. 觉得总是忘记是因为没有彻底理解啊. 注意baby step giant step ...

  9. Initializing Spring root WebApplicationContext

    最近 我部署ssh项目的时候经常出现这样的问题,我的解决办法是 log4j:WARN No appenders could be found for logger (org.springframewo ...

  10. Android ActivityManager.killBackgroundProcesses方法去结束

    android2.2以后,如果服务在ondestroy里加上了start自己,用kill backgroudprocess通常无法结束自己.有一种最新发现的方法,利用反射调用forceStopPack ...