`

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自学==jsp实例

    Java自学之路——以JSP实例探索Web开发 在IT领域,Java是一种广泛应用的编程语言,尤其在企业级Web开发中占据重要地位。JSP(JavaServer Pages)是Java的一个核心部分,它允许开发者将静态HTML内容与动态Java代码...

    java自学===Filter类的应用,网站数量统计

    在本篇博客“java自学===Filter类的应用,网站数量统计”中,作者可能探讨了如何使用Filter来实现网站访问量的统计功能。 首先,Filter类位于javax.servlet包中,它是Servlet API的一部分,主要用于增强Web应用程序...

    java自学===Filter类的应用,验证用户

    在"java自学===Filter类的应用,验证用户"这个话题中,我们关注的是使用Filter来检查用户是否已经登录,以确保他们有权访问特定的资源。这通常通过以下步骤完成: 1. 检查请求中的认证信息:例如,从HTTP请求头中...

    四年来个人收藏的java自学视频

    Java自学之路虽然充满挑战,但这位来自上海的朋友凭借四年多的学习和三年多的工作经验,积累了丰富的资源,并在端午节期间慷慨地分享了三百GB的基础学习视频。他的学习历程始于马士兵的教程,这是一个许多Java初学者...

    java自学视频下载网址

    根据提供的文件信息,这里主要涉及的是Java自学视频资源的获取途径。Java作为一种广泛使用的编程语言,在软件开发、网站构建以及企业级应用等多个领域都发挥着重要作用。对于希望通过视频自学Java的人来说,找到高...

    java自学 指导建议

    ### Java自学之路:选择与路线图详解 #### 一、选择的重要性 在开始Java学习之旅之前,最重要的是明确自己的目标并做出明智的选择。这不仅包括选择适合自己的学习资源,还包括根据个人兴趣和发展方向来确定具体的...

    JAVA自学之路

    在JAVA自学之路中,你将探索一门强大且广泛使用的编程语言,它被众多企业级应用、网站和移动应用所采用。JAVA以其“一次编写,到处运行”的特性,为开发者提供了跨平台的便捷性。以下是一些关键的知识点,将帮助你在...

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

    在"java零基础自学 之 Servlet 1-4课时"的课程中,我们将深入探讨以下几个关键知识点: 1. **Servlet简介**:Servlet是一个Java类,它扩展了服务器的功能,使得开发者可以编写代码来处理客户端(如浏览器)发送的...

    java自学之路--教你怎么开始学java

    【Java自学之路】对于初学者来说,学习Java编程语言是一个挑战,但也是一个充满机遇的过程。以下是一些关于如何开始自学Java的重要建议: 首先,选择学习Java的原因可能多种多样,但通常就业是主要驱动力。Java因其...

    Java自学网站,你值得拥有

    Java自学网站——how2j,是一个专为Java初学者和进阶者打造的在线学习平台。这个网站提供了丰富的学习资源,旨在帮助用户构建系统性的Java学习路径,让你在自学的道路上更加得心应手。其源代码的开放,使得学习者...

    Java自学指导

    Java自学指导是一个面向初学者的指南,旨在帮助那些想要学习Java但不知从何入手的人。以下是一条推荐的自学路径: 首先,你需要掌握Java Standard Edition (JavaSE),这是所有Java学习的基础。JavaSE包含了核心的...

    java自学计划安排

    ### Java自学计划安排 在IT领域中,Java作为一门经典的编程语言,因其强大的功能、广泛的应用范围以及良好的跨平台性而备受青睐。对于初学者来说,制定一个合理的自学计划至关重要,这不仅能帮助大家系统地掌握Java...

    Java自学之路.txt

    ### Java自学之路知识点详解 #### 一、Java基础学习阶段:J2SE 5.0 **1.1 Java基础知识介绍** - **源代码的重要性**:介绍了Java源代码的基础概念及其重要性,对于理解Java程序如何运行至关重要。 - **变量**:...

    JAVA自学教程(完整版)

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

    Java自学心得Java自学心得.doc

    ### Java自学心得详解 #### 一、安装JDK与环境配置 自学Java的第一步是安装JDK(Java Development Kit)。这是开发Java程序的基础工具包,包含编译、运行Java程序所需的组件。 - **CLASSPATH问题**:理解...

    java自学之道

    以上只是Java自学之道的一部分,通过阅读"Java自学之道大纲.doc"、"Java自学之道摘要.doc"、"Java自学之道前言.doc"、"Java自学之道内容.doc",你可以得到更深入、系统的学习计划和指导,逐步提升你的Java编程能力。...

    Java自学网(javazx.com)[独门架构:Java Web开发应用详解].李宁.著.扫描版

    《独门架构:Java Web开发应用详解》是Java自学网javazx.com的创始人李宁先生撰写的一本专业书籍,旨在帮助读者深入理解和掌握Java Web开发技术。这本书详细阐述了从基础到高级的Java Web开发知识,涵盖了多个关键...

    Java自学入门经典资料PDF高清全本

    《Java自学入门经典资料》是一本为初学者精心编写的指南,旨在帮助读者从零开始掌握Java编程语言。这本书共409页,包含了高清的PDF格式,内容丰富且详细,不仅理论讲解深入,还提供了丰富的示例代码(demo)和实际...

Global site tag (gtag.js) - Google Analytics