宁波自助建网站,苏州博客关键词优化,苏州网站建设基础型,阿里巴巴国际网站建设文章目录1.Tomcat服务器安装注意事项2.编写WebApp3.BS系统角色和协议4.模拟Servlet4.1模拟sun公司4.2模拟Tomcat服务器4.3模拟WebApp开发者5.开发一个带有Servlet的WebApp5.1创建一个名为crm的项目5.2 在项目中创建一个名为WEB-INF的文件#xff08;必须#xff09;5.3在WEB-…
文章目录1.Tomcat服务器安装注意事项2.编写WebApp3.BS系统角色和协议4.模拟Servlet4.1模拟sun公司4.2模拟Tomcat服务器4.3模拟WebApp开发者5.开发一个带有Servlet的WebApp5.1创建一个名为crm的项目5.2 在项目中创建一个名为WEB-INF的文件必须5.3在WEB-INF下新建一个名为classes将来存储java字节码文件。必须5.4在WENINF下新建一个名为lib的文件夹将来存储jar包。5.5在WEB-INF下新建一个名为web.xml文件必须5.6 编写小Java程序必须实现Servlet接口5.7编写HelloServlet程序5.8 将以上生成的class字节码拷贝到WEB-INF\classes下5.9 在web.xm注册Servlet类5.10启动Tomcat服务器5.11打开浏览器6.使用IDEA开发Servlet6.1项目6.2模块6.3 Module变成Java EE模块6.4编写Servlet6.5 导入数据库驱动6.6 在web.xm注册Servlet类6.7 前端页面6.8项目部署6.9启动Tomcat服务器6.10浏览器访问1.Tomcat服务器安装注意事项
两个环境变量的配置
JAVA_HOME jdk的根 CATALINK_HOME Tomcat服务器的根 没有配置CATALINK_HOME会出现如下 防止使用命令shutdown.bat关机将tomcat目录的bin下的shutdown.bat改为stop.bat
解决乱码 conf下的logging.properties 2.编写WebApp
以下路径以/开头带项目名是一个绝对路径不带 http://127.0.0.1:8080
a href/oa/login.htmluser login/a3.BS系统角色和协议 4.模拟Servlet
4.1模拟sun公司
package javax.servlet;/*** 充当sun公司,将Servlet接口/规范制定出来** author Beyong* date 2023/02/28 09:11**/
public interface Servlet {void service();
}4.2模拟Tomcat服务器
package org.apache;import javax.servlet.Servlet;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Properties;
import java.io.FileReader;
import java.util.Scanner;/*** 充当Tomcat服务器的开发者** author Beyong* date 2023/02/28 09:26**/
public class Tomcat {public static void main(String[] args) throws IOException, ClassNotFoundException, IllegalAccessException, InstantiationException {System.out.println(tomcat服务器启动成功开始接收用户输入);System.out.println(请输入访问地址);Scanner s new Scanner(System.in);//用户输入请求路径String key s.nextLine();//请求路径和Servlet之间的关系//Tomcat服务器解析配置文件FileReader reader new FileReader(web.properties);Properties pro new Properties();pro.load(reader);reader.close();//通过key获取valueString className pro.getProperty(key);//通过反射机制创建对象Class clazz Class.forName(className);//obj类型对于Tomcat服务器开发人员来说不知道Object obj clazz.newInstance();//Tomcat服务器的开发者知道你写的Servlet一定实现了Servlet接口Servlet servlet (Servlet)obj;servlet.service();}
}4.3模拟WebApp开发者
package com.sdnu.servlet;import javax.servlet.Servlet;/*** 充当银行webapp开发者** author Beyong* date 2023/02/28 08:47**/
public class BankServlet implements Servlet {public void service() {System.out.println(BankServlets service...);}
}package com.sdnu.servlet;import javax.servlet.Servlet;/*** 充当用户列表webapp开发者** author Beyong* date 2023/02/28 08:50**/
public class UserListServlet implements Servlet {public void service() {System.out.println(UserListServlets service...);}
}package com.sdnu.servlet;import javax.servlet.Servlet;/*** 充当用户登录webapp开发者** author Beyong* date 2023/02/28 08:51**/
public class UserLoginServlet implements Servlet {public void service() {System.out.println(UserLoginServlets service...);}
}web.properties
/aaacom.sdnu.servlet.UserListServlet
/bbbcom.sdnu.servlet.UserLoginServlet
/ccccom.sdnu.servlet.BankServlet5.开发一个带有Servlet的WebApp
5.1创建一个名为crm的项目 5.2 在项目中创建一个名为WEB-INF的文件必须 5.3在WEB-INF下新建一个名为classes将来存储java字节码文件。必须 5.4在WENINF下新建一个名为lib的文件夹将来存储jar包。 5.5在WEB-INF下新建一个名为web.xml文件必须 从其它地方拷贝即可。 5.6 编写小Java程序必须实现Servlet接口 将这个路径配置到环境变量 5.7编写HelloServlet程序
小程序
package com.sdnu.servlet;import jakarta.servlet.Servlet;
import jakarta.servlet.ServletException;
import jakarta.servlet.ServletRequest;
import jakarta.servlet.ServletResponse;
import jakarta.servlet.ServletConfig;
import java.io.IOException;public class HelloServlet implements Servlet{public void init(ServletConfig config) throws ServletException{}public void service(ServletRequest request, ServletResponse response)throws ServletException, IOException{System.out.println(My Hello World!!!);}public void destroy(){}public String getServletInfo(){return ;}public ServletConfig getServletConfig(){return null;}
}编译后
获得字节码
5.8 将以上生成的class字节码拷贝到WEB-INF\classes下 5.9 在web.xm注册Servlet类
目的使得请求路径和Servlet类关联到一起。
?xml version1.0 encodingUTF-8?
web-app xmlnshttps://jakarta.ee/xml/ns/jakartaeexmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttps://jakarta.ee/xml/ns/jakartaeehttps://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsdversion5.0metadata-completetrue!--servlet描述信息--!--任何一个servlet都对应一个servlet-mapping--srvlrtsrvlet-nameaaa/servlet-namesrvlet-classcom.sdnu.servlet.HelloServlet/servlet-class/servlet!--servlet映射信息--servlet-mapping!--这里名字随便但要和上面的内容一致--srvlet-nameaaa/servlet-name!--这里要一个路径--!--必须以/开始--srvlet-pattern/bbb/ccc/ddd/servlet-pattern/servlet-mapping
/web-app5.10启动Tomcat服务器
5.11打开浏览器
输入url: http://127.0.0.1:8080/crm/bbb/ccc/ddd 6.使用IDEA开发Servlet
6.1项目
新建一个空的项目。
6.2模块
在项目中新建一个新的javase模块。
6.3 Module变成Java EE模块 如下结构符合WebApp
6.4编写Servlet
package com.sdnu.javaweb.servlet;import jakarta.servlet.*;import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;/*** StudentServlet** author Beyong* date 2023/02/28 17:37**/
public class StudentServlet implements Servlet{Overridepublic void init(ServletConfig servletConfig) throws ServletException {}Overridepublic ServletConfig getServletConfig() {return null;}Overridepublic void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {servletResponse.setContentType(text/html);PrintWriter out servletResponse.getWriter();Connection conn null;PreparedStatement ps null;ResultSet rs null;try {Class.forName(com.mysql.jdbc.Driver);String url jdbc:mysql://localhost:3306/java_web;String user root;String password XXXXXXX;conn DriverManager.getConnection(url, user, password);String sql select no, name from t_student;ps conn.prepareStatement(sql);rs ps.executeQuery();while(rs.next()){String no rs.getString(no);String name rs.getString(name);out.print(no , name /br);}} catch (ClassNotFoundException | SQLException e){e.printStackTrace();} finally {if(rs ! null){try{rs.close();} catch(SQLException e){e.printStackTrace();}}if(ps ! null){try{ps.close();} catch(SQLException e){e.printStackTrace();}}if(conn ! null){try{conn.close();} catch(SQLException e){e.printStackTrace();}}}}Overridepublic String getServletInfo() {return null;}Overridepublic void destroy() {}
}需要导入如下两个JAR包 6.5 导入数据库驱动
在WEB-INF下新建一个名为lib的文件夹将数据库对应的jar包放入。
6.6 在web.xm注册Servlet类
web.xml完成servlet类的注册。
?xml version1.0 encodingUTF-8?
web-app xmlnshttp://xmlns.jcp.org/xml/ns/javaeexmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsdversion4.0servletservlet-namestudentServlet/servlet-nameservlet-classcom.sdnu.javaweb.servlet.StudentServlet/servlet-class/servletservlet-mappingservlet-namestudentServlet/servlet-nameurl-pattern/servlet/student/url-pattern/servlet-mapping
/web-app
6.7 前端页面
编写前端页面
!DOCTYPE html
html langen
headmeta charsetUTF-8titleTitle/title
/head
bodya href/servlet/studentstudent list/a
/body
/html放到web目录下。
6.8项目部署
使得IDEA连接Tomcat同时将webapp部署到Tomcat上。 6.9启动Tomcat服务器
debug启动
6.10浏览器访问
http://localhost:8080/xmm/servlet/student展示数据库中的数据 作者Beyong 出处Beyong博客 github地址 https://github.com/beyong2023 本博客中未标明转载的文章归作者Beyong有欢迎转载但未经作者同意必须保留此段声明且在文章明显位置给出原文连接否则保留追究法律责任的权利。