JavaWeb-Servlet编程 Part3
来源:互联网 发布:mac算pc机吗 编辑:程序博客网 时间:2024/06/07 09:13
Servlet配置
一、<servlet>
元素的各个子元素的含义说明
<servlet>
元素的各个子元素的含义说明<description>
:为Servlet指定文本描述<display-name>
:为Servlet指定一个简短的名字,这个名字可以被某些工具所显示<icon>
:为Servlet指定一个图标。这个图标可以在图形界面工具中表示该Servlet。<servlet-name>
:指定servlet的名字,这个名字在同一个web应用中必须是唯一的。这个元素是必备的。<servlet-class>
:指定Servlet类的完整限定名。这个元素是必备的。<jsp-file>
:指定在Web应用中的JSP文件的完整路径,该路径以“/”开始。如果要对一个JSP文件进行URL映射,才会用到这个元素。<init-param>
:定义servlet的初始化参数.如果使用了<init-param>
元素,则必须在其中包含一个或多个<param-name>
和-<param-value>
元素,还可以包含零个或多个<description>
元素。其中<description>
初始化参数提供一个文本描述。<param-name>
定义初始化参数的名字。<load-on-startup>
:指定当Web应用程序启动时,Servlet被加载的次序。<run-as>
:指定用于执行组件的角色。如果使用了<run-as>
元素,可以包含零个或多个<description>
元素,必须包含<role-name>
元素。其中<description>
指定一个文本描述。指定用于执行组件的角色名。<security-role-ref>
:声明在组件或部署的组件的代码中的安全角色引用。如果使用了<security-role-ref>
元素,则必须包含<role-name>
元素,可以包含零个或多个<description>
元素,零个或一个<role-link>
元素。其中,<description>
为安全角色引用提供一个文本描述。指定在代码中使用的安全角色的名字。<role-link>
指定到一个安全角色的引用。
二、<servlet-mapping>
元素及其子元素 <servlet-mapping>
元素在servlet和URL路径之间定义了一个映射.它包含了2个子元素<servlet-name>
和<url-patten>
,<servlet-name>
元素给出的Servlet名字必须是在<servlet>
元素中声明过的Servlet的名字。<url-patten>
元素指定对应rservlet的URL路径,该路径是相对于web应用上下文的路径。
在<url-patten>
元素中,可以使用下面的语法来定义映射路径。
1) 以“/”开始并且以“/*”结束的字符串用来映射路径
<url-patten>/admin/*</url-patten>
表示对/admin/路径下的所有资源的请求都将由映射了上述URL路径的Servlet来处理。
2) 以“*.”为前缀的字符串用来映射扩展名
<url-patten>*.html</url-patten>
表示对具有.html扩展名的资源的请求都将由映射了上述URL路径的Servlet来处理。
3)以一个单独的“/”指示这个web应用默认的servlet
<url-patten>/</url-patten>
表示如果对某个请求没有找到匹配的Servlet,那么将使用Web应用程序的默认Servlet来处理。
三、配置自启动的servlet
1.创建java类UserList,来获取所有用户信息,并生产Html页面中元素
package com.demo.servlet;import java.sql.*;import java.util.*;public class UserList { private static Map userMap; public static void fillUser() { //判断Map对象是否存在,若存在则清除里面的数据,不存在则创建一个新的 if(userMap == null) { //如果不存在,则创建新的HashMap对象 userMap = new HashMap(); } else { //如果存在,则清空HashMap对象 userMap.clear(); } //声明数据库连接对象 Connection conn = null; //创建要构造下拉列表的字符缓冲区对象 StringBuffer strBuf = new StringBuffer(); try{ //建立数据库连接 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433; DatabaseName=UserInfo", "sa", "Aa123789"); PreparedStatement pState = conn.prepareStatement("Select * from userInfo"); ResultSet rs = pState.executeQuery(); while(rs.next()){ userMap.put(new Integer(rs.getInt(1)), rs.getString(2)); } } catch(Exception ex){ ex.printStackTrace(); }finally{ try{ if(conn != null){ conn.close(); conn = null; } }catch(SQLException se){ se.printStackTrace(); } } } public static String getUserListHTML(){ StringBuilder sb = new StringBuilder(); Set set = userMap.keySet(); Iterator iter = set.iterator(); while(iter.hasNext()) { Object item = iter.next(); sb.append("<option value='"+ item +">" + userMap.get(item) + "</option>\n"); } return sb.toString(); }}
2.创建Servlet类UserCacheServlet
package com.demo.servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import sun.print.PrinterJobWrapper;@WebServlet("/UserCacheServlet")public class UserCacheServlet extends HttpServlet { private static final long serialVersionUID = 1L; private static final String CONTENT_TYPE = "text/html; charset=UTF-8"; public void init() throws ServletException{ UserList.fillUser(); } public UserCacheServlet() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { UserList.fillUser(); response.setContentType(CONTENT_TYPE); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head><title>User Cache Servlet</title></head>"); out.println("<body bgcolor=\"#FFFFFF\">"); out.println("登录成功!"); out.println("</body>"); out.println("</html>"); out.flush(); out.close(); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }}
3.配置web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>LoginServlet</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <servlet> <!-- 设置Servlet的名称 --> <servlet-name>UserCacheServlet</servlet-name> <!-- 设置Servlet的完整类名 --> <servlet-class>com.demo.servlet.UserCacheServlet</servlet-class> <!-- 设置Servlet自启动加载运行 --> <load-on-startup>2</load-on-startup> </servlet> <!-- 设置Servlet映射信息 --> <servlet-mapping> <!-- 设置Servlet的名称 --> <servlet-name>UserCacheServlet</servlet-name> <!-- 设置Servlet的映射URL路径 --> <url-pattern>/servlet/UserCacheServlet</url-pattern> </servlet-mapping></web-app>
4.创建login.jsp登录页面
<%@page import="com.demo.servlet.UserList"%><%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>login</title></head><body bgcolor="000000"> <form name="form1" method="post" action="servlet/UserCacheServlet"> <table> <tr><td> 用户名:</td><td> <select name="userID"> <option value="" selected> -- 登录用户 -- </option> <%=UserList.getUserListHTML() %> </select> </td></tr> <tr><td>密码:</td><td><input type="password" name="password"></td></tr> <tr><td colspan="1"><input type="submit" name="submit" value="登录"></td></tr> </table> </form></body></html>
阅读全文
0 0
- JavaWeb-Servlet编程 Part3
- JavaWeb Servlet编程
- JavaWeb之Servlet编程
- JavaWeb之Servlet编程
- JavaWeb-Servlet编程 Part1
- JavaWeb-Servlet编程 Part2
- JavaWeb----2.Servlet编程操作
- JavaWeb之Servlet编程实例二
- JavaWeb之Servlet&网络访问服务器编程
- JavaWeb学习笔记——Servlet编程
- 《编程珠玑》读书笔记 part3
- javaweb Servlet
- JavaWeb-Servlet
- javaWeb servlet
- JavaWeb Servlet
- JavaWeb -- Servlet
- JavaWeb:Servlet
- JavaWeb-Servlet
- Java反射得到属性的值和设置属性的值
- 基础分治算法题——循环比赛日程表
- 基于Swift的iOS应用程序开发:第三方日历组件CVCalendar简介
- 邮件协议POP3/IMAP/SMTP服务的区别
- centos 7编译安装部署zabbix-server端
- JavaWeb-Servlet编程 Part3
- 一个简单的java swing 做的 树模型
- android 6.0 运行时权限申请流程
- 初识selenium2+python2.x搭建web自动化测试环境
- IDEA使用之让manven项目自动依赖jar包
- eclipse ctrl+shift+T 快捷键:类名,方法名搜索
- SpringBoot 数据库操作(下)
- XMind8绘制思维导图
- windows下彻底删除MySQL的方法