some tips

工作中遇到的一些问题,有些解决方案来自网络,Mark之,持续更新

  • HttpURLConnection的403

用HttpURLConnection去读取某个网页的内容时,老是会发生这个403错误,而直接用firefox访问这个网站时就没问题。

写道
403 Forbidden 对被请求页面的访问被禁止。

 java代码HttpURLConnection去连的话 http header 中的User-Agent就为空,解决方法就是在连接之前先设置这个属性:

        URL url = new URL("");
        HttpURLConnection conn = (HttpURLConnection)url.openConnection();
        conn.setRequestProperty("User-agent","Mozilla/4.0");
        conn.setRequestMethod("POST");
        BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
 
  • 可执行的jar

进入class目录,这里为bin目录:

D:\workspace\workspace\test\bin>jar cvfe test.jar com.sample.Sample .
 

 这边表示打包后的jar文件名为test.jar,该jar包的主方法为com.sample.Sample,当然Sample.java中需要有main方法:

package com.sample;
public class Sample {
    
    public static void main(String[] args) {
        System.out.println(System.getProperty("java.version"));
    }

}

 将会在test.jar的META-INF/MANIFEST.MF中看到

Manifest-Version: 1.0
Created-By: 1.6.0_25 (Sun Microsystems Inc.)
Main-Class: com.sample.Sample

 由于已经位于bin目录,这里将当前目录(.)作为打包的内容。
运行该jar

D:\workspace\workspace\test\bin>java -jar test.jar
1.6.0_25

 

  • servlet读取spring注入对象

       考虑某些场景,比如某个请求必须要servlet访问。但是该servlet中有其他资源,如datasource,但是用spring配置集成,现在问题就是需要在servlet中访问spring依赖注入的资源。需要做的就是将web容器实例化的servlet对象绑定到spring容器的context上下文中 ,这样就可以在servlet中去访问spring容器注入的对象。

在spring中提供了相应的绑定方法:

WebApplicationContextUtils.getRequiredWebApplicationContext(ServletContext sc)

 其他该怎么配置还怎么配置,比如web.xml中:

	<!-- spring config -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:spring/spring-*.xml</param-value>
	</context-param>
	
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	<!-- target servlet -->
	<servlet>
		<servlet-name>test-user</servlet-name>
		<servlet-class>com.sample.tec.sales.web.UserDaoServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>test-user</servlet-name>
		<url-pattern>/test-user</url-pattern>
	</servlet-mapping>

  其他在spring配置文件注入接口就不再赘述,见UserDaoServlet中的

private LoginService      userService;
...............

    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println(UserDaoServlet.class.getName() + ".ROOT");
        WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(getServletContext());
        userService = (LoginService) ctx.getBean("userService");
        userService.foo();
    }

 

 

  • Could not find artifact com.sun:tools:jar:1.5.0

把eclipse中的【Windows】-【Preferences】-【Java】-【Install JREs】改为JDK,而不用JRE如果还不行就把jre删除

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值