如何让一段代码tomcat启动就运行

1. 在 web.xml 里面配置为 listener

<listener>
        <listener-class>com.pandaroid.uniqueonline.UniqueOnlineSessionListener</listener-class>
</listener>
public class UniqueOnlineSessionListener implements HttpSessionListener {
    static {
        System.out.println("haha static");
    }
    @Override
    public void sessionCreated(HttpSessionEvent arg0) {  
    }
    @Override
    public void sessionDestroyed(HttpSessionEvent arg0) {
        UniqueOnlineRecords.removeUser(arg0.getSession());
    }

}

2. 配置为 Spring 的 bean

使用这种方式时,bean 的 scope 必须设为默认的 singleton 。因为只有这样,Spring 才会在应用服务器启动时为我们加载相应的 bean 。

<bean id="HiReportService" class="com.pandaroid.hiReport.service.HiReportServiceImpl">
     <property name="fileUploadDiskPath" ref="fileupload.disk.path"/>
     <property name="fileUploadHttpPath" ref="fileupload.http.path"/>
     <property name="jasperService" ref="JasperService"/>
 </bean>
public class HiReportServiceImpl implements HiReportService {
     static {
         System.out.println("Spring bean static !");
     }
     ...
 }
首先,在Tomcat运行Java代码需要将Java代码打包成一个war包,然后将这个war包部署到Tomcat的webapps目录下。接下来就可以在Tomcat下访问Java代码了。 下面是一个可以在Tomcat运行的Java17代码示例: ```java import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; public class HelloWorldServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.getWriter().write("Hello, World!"); } } ``` 这是一个简单的Servlet,会在浏览器上输出"Hello, World!"。 现在可以将这个Java代码打包成一个war包了。首先,将代码保存为HelloWorldServlet.java。然后,使用命令行工具编译代码: ```bash javac -classpath $TOMCAT_HOME/lib/servlet-api.jar HelloWorldServlet.java ``` 其中,$TOMCAT_HOME是Tomcat的安装目录,servlet-api.jar是Tomcat提供的Servlet API。接下来,创建一个web.xml文件,内容如下: ```xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0"> <display-name>Hello World</display-name> <servlet> <servlet-name>HelloWorldServlet</servlet-name> <servlet-class>HelloWorldServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloWorldServlet</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping> </web-app> ``` 这个文件定义了Servlet的映射,将/hello映射到HelloWorldServlet这个Servlet。现在可以将代码和web.xml文件打包成一个war包了: ```bash jar cvf HelloWorldServlet.war HelloWorldServlet.class web.xml ``` 现在可以将HelloWorldServlet.war部署到Tomcat的webapps目录下,然后启动Tomcat。在浏览器上输入http://localhost:8080/HelloWorldServlet/hello,就会看到"Hello, World!"的输出了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值