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实例探索Web开发 在IT领域,Java是一种广泛应用的编程语言,尤其在企业级Web开发中占据重要地位。JSP(JavaServer Pages)是Java的一个核心部分,它允许开发者将静态HTML内容与动态Java代码...
在本篇博客“java自学===Filter类的应用,网站数量统计”中,作者可能探讨了如何使用Filter来实现网站访问量的统计功能。 首先,Filter类位于javax.servlet包中,它是Servlet API的一部分,主要用于增强Web应用程序...
在"java自学===Filter类的应用,验证用户"这个话题中,我们关注的是使用Filter来检查用户是否已经登录,以确保他们有权访问特定的资源。这通常通过以下步骤完成: 1. 检查请求中的认证信息:例如,从HTTP请求头中...
Java自学之路虽然充满挑战,但这位来自上海的朋友凭借四年多的学习和三年多的工作经验,积累了丰富的资源,并在端午节期间慷慨地分享了三百GB的基础学习视频。他的学习历程始于马士兵的教程,这是一个许多Java初学者...
根据提供的文件信息,这里主要涉及的是Java自学视频资源的获取途径。Java作为一种广泛使用的编程语言,在软件开发、网站构建以及企业级应用等多个领域都发挥着重要作用。对于希望通过视频自学Java的人来说,找到高...
### Java自学之路:选择与路线图详解 #### 一、选择的重要性 在开始Java学习之旅之前,最重要的是明确自己的目标并做出明智的选择。这不仅包括选择适合自己的学习资源,还包括根据个人兴趣和发展方向来确定具体的...
在JAVA自学之路中,你将探索一门强大且广泛使用的编程语言,它被众多企业级应用、网站和移动应用所采用。JAVA以其“一次编写,到处运行”的特性,为开发者提供了跨平台的便捷性。以下是一些关键的知识点,将帮助你在...
在"java零基础自学 之 Servlet 1-4课时"的课程中,我们将深入探讨以下几个关键知识点: 1. **Servlet简介**:Servlet是一个Java类,它扩展了服务器的功能,使得开发者可以编写代码来处理客户端(如浏览器)发送的...
【Java自学之路】对于初学者来说,学习Java编程语言是一个挑战,但也是一个充满机遇的过程。以下是一些关于如何开始自学Java的重要建议: 首先,选择学习Java的原因可能多种多样,但通常就业是主要驱动力。Java因其...
Java自学网站——how2j,是一个专为Java初学者和进阶者打造的在线学习平台。这个网站提供了丰富的学习资源,旨在帮助用户构建系统性的Java学习路径,让你在自学的道路上更加得心应手。其源代码的开放,使得学习者...
Java自学指导是一个面向初学者的指南,旨在帮助那些想要学习Java但不知从何入手的人。以下是一条推荐的自学路径: 首先,你需要掌握Java Standard Edition (JavaSE),这是所有Java学习的基础。JavaSE包含了核心的...
### Java自学计划安排 在IT领域中,Java作为一门经典的编程语言,因其强大的功能、广泛的应用范围以及良好的跨平台性而备受青睐。对于初学者来说,制定一个合理的自学计划至关重要,这不仅能帮助大家系统地掌握Java...
### Java自学之路知识点详解 #### 一、Java基础学习阶段:J2SE 5.0 **1.1 Java基础知识介绍** - **源代码的重要性**:介绍了Java源代码的基础概念及其重要性,对于理解Java程序如何运行至关重要。 - **变量**:...
第1章 Java环境及配置 第2章 Java基本语法 第3章 类和接口 第4章 Java Applet 第5章 Java图形处理 第6章 Java用户界面技术 第7章 异常、事件和多线程机制 ...第13章 Servlet技术 第14章 Java读写XML技术
### Java自学心得详解 #### 一、安装JDK与环境配置 自学Java的第一步是安装JDK(Java Development Kit)。这是开发Java程序的基础工具包,包含编译、运行Java程序所需的组件。 - **CLASSPATH问题**:理解...
以上只是Java自学之道的一部分,通过阅读"Java自学之道大纲.doc"、"Java自学之道摘要.doc"、"Java自学之道前言.doc"、"Java自学之道内容.doc",你可以得到更深入、系统的学习计划和指导,逐步提升你的Java编程能力。...
《独门架构:Java Web开发应用详解》是Java自学网javazx.com的创始人李宁先生撰写的一本专业书籍,旨在帮助读者深入理解和掌握Java Web开发技术。这本书详细阐述了从基础到高级的Java Web开发知识,涵盖了多个关键...
《Java自学入门经典资料》是一本为初学者精心编写的指南,旨在帮助读者从零开始掌握Java编程语言。这本书共409页,包含了高清的PDF格式,内容丰富且详细,不仅理论讲解深入,还提供了丰富的示例代码(demo)和实际...