`

java自学==servlet

阅读更多
servlet连接数据库,在配置文件中填写servlet的初始参数

项目结构图



package servletAPI;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class InitServlet extends HttpServlet {

	private String driver = "";
	private String URL = "";
	private String username = "";
	private String password = "";

//	获取web.xml中的init-param参数
	public void init() throws ServletException { //自动执行
		driver = getInitParameter("driver"); //参数"driver" 为param-name,返回的是param-value
		URL = getInitParameter("URL");
		username = getInitParameter("username");
		password = getInitParameter("password");
	}
//获得数据库连接的方法
	public Connection getConnection() {
		Connection con = null;
		try {
			Class.forName(driver);
			con = DriverManager.getConnection(URL, username, password);
			System.out.print("2");
			return con;
		} catch (Exception e) {
		}
		return con;
	}
//通过doGet()方法实现数据查询功能
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		response.setContentType("text/html;charset=gb2312"); //指定内容类型,可显示中文
		PrintWriter out = response.getWriter(); 
//取得要在响应中输出的文本流
		Connection con = this.getConnection();
		try {
			Statement stmt = con.createStatement();
			ResultSet rs = stmt.executeQuery("select * from Loginuser");
			while (rs.next()) {
				out.print(rs.getString("username"));
				out.print("    ");
				out.print(rs.getString("password"));
				out.print("    ");
				out.print(rs.getString("gender"));
				out.print("    ");
				out.print(rs.getInt("age"));
				out.print("    ");
				out.print(rs.getDate("logintime"));
				out.print("<br>");
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doGet(request, response);
	}

}


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">
	
	
	<!-- 配置servlet -->
	<servlet>
	<!--servlet名称,必须唯一-->
		<servlet-name>firstservlet</servlet-name>
		<!--对应的servlet类-->
		<servlet-class>firstservlet.FirstServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>firstservlet</servlet-name>
		<!--访问的URL地址: http://localhost:8080/servlet/firstservlet-->
		<url-pattern>/[color=red]firstservlet[/color]</url-pattern>
	</servlet-mapping>

	<!-- 配置servlet -->
	<servlet>
		<servlet-name>testservlet</servlet-name>
		<servlet-class>servletAPI.TestServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>testservlet</servlet-name>
		<url-pattern>/testservlet</url-pattern>
	</servlet-mapping>
	
	<!-- 配置servlet -->
	<servlet>
		<description>
			This is the description of my J2EE component
		</description>
		<display-name>
			This is the display name of my J2EE component
		</display-name>
		<servlet-name>initservlet</servlet-name>
		<servlet-class>servletAPI.InitServlet</servlet-class>
		<!-- 连接数据库的初始化参数 -->
		<init-param>
			<param-name>driver</param-name>
			<param-value>
				com.microsoft.jdbc.sqlserver.SQLServerDriver
			</param-value>
		</init-param>
		<init-param>
			<param-name>URL</param-name>
			<param-value>
				jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=login
			</param-value>
		</init-param>
		<init-param>
			<param-name>username</param-name>
			<param-value>sa</param-value>
		</init-param>
		<init-param>
			<param-name>password</param-name>
			<param-value>sa</param-value>
		</init-param>
	</servlet>
	<servlet-mapping>
		<servlet-name>initservlet</servlet-name>
		<url-pattern>/initservlet</url-pattern>
	</servlet-mapping>
	
</web-app>


第二个例子:
package firstservlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class FirstServlet extends HttpServlet {
	
	private int stringtoint(String str)throws NumberFormatException{
		int i = Integer.parseInt(str);
		return i;
	}

	//覆盖父类的方法doGet,doPost,  doPost不会显示传递的参数
	public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
		
		String str;
		int inputNum;
		String outputstring;
		
		
		response.setContentType("text/html;charset=gb2312");
		PrintWriter out = response.getWriter();
		//输出网页
		out.println("<HTML>");
		out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
		out.println("  <BODY background=b01.jpg>");
		out.println("<h1>显示异常处理的servlet例子</h1>");
		str = request.getParameter("txtInputNum");
		
		try {
			inputNum = stringtoint(str);
			outputstring = "你输入的数字为:"+inputNum;
		} catch (NumberFormatException e) {
			outputstring = "对不起,输入不是数字";
		
		}
		out.println(outputstring);
		out.println("  </BODY>");
		out.println("</HTML>");
		out.flush();
		out.close();
		
		
	}
	public void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
		doGet(request,response);
	}
}


index.jsp

<%@ page language="java" contentType = "texthtml;charset=gb2312"%>
<%
[color=red]String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";[/color]%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    [color=red]<base href="<%=basePath%>">[/color]
    
    <title>servlet处理异常</title>
  </head>
  <body>
   <form action="[color=red]firstservlet[/color]"> 
			请输入一个数字: 
			<input type="text" name="txtInputNum" />
			<input type="submit" value="submit" />
		</form> 
  </body>
</html>

firstservlet对应于web。xml中的红色的url的/后的


全部源码见附件
  • 大小: 38.9 KB
分享到:
评论

相关推荐

    java零基础自学 之 Servlet 技术1-4课时

    java零基础自学 之 Servlet 1-4课时 java零基础自学 之 Servlet 1-4课时

    JAVA自学教程(完整版)

    第1章 Java环境及配置 第2章 Java基本语法 第3章 类和接口 第4章 Java Applet 第5章 Java图形处理 第6章 Java用户界面技术 第7章 异常、事件和多线程机制 ...第13章 Servlet技术 第14章 Java读写XML技术

    JAVA自学教程(史上最全).ppt

    第1章 Java环境及配置 第2章 Java基本语法 第3章 类和接口 第4章 Java Applet 第5章 Java图形处理 第6章 Java用户界面技术 第7章 异常、事件和多线程机制 ...第13章 Servlet技术 第14章 Java读写XML技术

    java自学教程

    java自学教程,javaSE基础知识, 第1章 Java环境及配置 第2章 Java基本语法 第3章 类和接口 第4章 Java Applet 第5章 Java图形处理 第6章 Java用户界面技术 第7章 异常、事件和多线程机制 第8章 输入输出技术 ...

    java经典入门教程——自学推荐

    随着 Java Servlet 的推出,Java在电子商务方面开始崭露头角,最新的Java Server Page(JSP)技术的推出,更是让Java 成为了基于Web应用程序的首选开发工具。 Java是第一套允许使用者将应用程序通过 Internet 从远...

    Java程序设计自学手册光盘

    Java程序设计自学手册 王国辉,李钟尉,王毅 人民邮电出版社 本书从初学者的角度出发,通过通俗易懂的语言和大量生动典型的实例,由浅入深、循序渐进地介绍应用Java进行网络编程的常用技术和方法。全书分为3篇,共20...

    java经典入门教程---自学推荐

    随着 Java Servlet 的推出,Java在电子商务方面开始崭露头角,最新的Java Server Page(JSP)技术的推出,更是让Java 成为了基于Web应用程序的首选开发工具。 Java是第一套允许使用者将应用程序通过 Internet 从远...

    JAVA自学之路

    这里只是讲了路线图,关于路线中的各个阶段,学到什么程度,如何学习等,可以参考后面的JAVA自学之路 七:《路线图明细》。 首先要学JavaSE,这是无庸置疑的。 与此同时,是的,与此同时,和JavaSE的学习同步,...

    《Java程序设计自学手册》源代码

    第3篇为实例篇 第15章 第20章 主要介绍JSP环境基础 JSP语法基础 JSP的内置对象 JavaBean技术和Servlet技术等Java Web领域的基础知识 最后通过一个博客网站介绍Java Web基础知识的综合应用 本资料为书本例子的源代码...

    Java_Web编程新手自学手册.pdf

    Java Web是当今使用最为广泛的Web开发技术之一,一直在开发领域占据着重要地位。...《新手学编程ABC丛书·Java Web编程新手自学手册(附光盘)》不但适用于Java Web的初学者,也可供有一定Java Web基础的读者阅读。

    servlet ppt

    Java web 开发,servlet ppt 教学用,自学用

    java书籍400本系列

    java书籍400本系列部分清单www.bocaitong3.com: 1、[JAVA书籍400本,精心收藏].j2megame 2、j2me慢慢学教程 3、java2实用教程电子教案 ...12、深入学习:java.servlet开发与实例 等等、资料太多就不一一列举

    Java自学教程

    第1章 Java环境及配置 第2章 Java基本语法 第3章 类和接口 第4章 Java Applet 第5章 Java图形处理 第6章 Java用户界面技术 第7章 异常、事件和多线程机制 ...第13章 Servlet技术 第14章 Java读写XML技术

    从零开始学Java资源包

    图书《从零开始学Java》配套的资源包。本书针对初学和自学读者的特点,以通俗易懂的语言讲解Java语言编程。全书内容分为六篇共23...本书适合想从事软件开发的入门人员、Java自学者及初级软件程序员与信息技术人员阅读。

    Java项目开发案例精粹

    《Java项目开发案例精粹》是目前流行的Java开发的案例...《Java项目开发案例精粹》既可以作为Java初学者的项目培训教材,也可以作为具有一定编程经验的Java程序开发人员的参考书,还适合Java自学者和大专院校学生阅读。

    Java后端学习路线 (详细路线)

    第一阶段:Java基础 大概用时:30天 重点知识点:数据类型、核心语法、面向对象、数组、集合、IO流、String/StringBuffer/StringBuilder、线程、并发、反射、泛型。 学习Java开发,首先要学习java基础知识,尤其是...

    Java程序员最新简历模板,熟悉Struts2,Hibernate,Spring等框架,精通Servlet,JSP,JSTL等

    我是一个有三年工作经验的Java程序员,熟练掌握Java语言及其核心技术,包括JavaSE,JavaEE,JavaME等。近两年来一直从事JavaWeb开发,熟悉Struts2,Hibernate,Spring等框架,精通Servlet,JSP,JSTL,EL,Ajax等技术。 我具有较...

Global site tag (gtag.js) - Google Analytics